Starfox2007
Mitglied
Hi zusammen,
Für eine Suchfunktion habe ich ein Script geschrieben,
Problem an der Sache ist das ich mindestens 8 Mysql Tabellen mit einer unterschiedlichen Anzahl von Spalten habe, was also ein UNION SELECT Statement ausschließt.
Ich würde das ganze eventuell mit Arrays lösen, wollte aber nochmal Euere Meinung dazu hören, wie würdet Ihr das machen ****
Mein Lösung wäre so:
So schreibe ich alle Ergebnisse in das Array $suche.
Für eine Suchfunktion habe ich ein Script geschrieben,
Problem an der Sache ist das ich mindestens 8 Mysql Tabellen mit einer unterschiedlichen Anzahl von Spalten habe, was also ein UNION SELECT Statement ausschließt.
Ich würde das ganze eventuell mit Arrays lösen, wollte aber nochmal Euere Meinung dazu hören, wie würdet Ihr das machen ****
Mein Lösung wäre so:
PHP:
$search1 = "SELECT spalte1, spalte2, spalte3, spalte4 FROM tabelle WHERE spalte1 LIKE '%".$db->escape($search)."%' OR spalte2 LIKE '%".$db->escape($search)."%' OR spalte3 LIKE '%".$db->escape($search)."%' OR spalte4 LIKE '%".$db->escape($search)."%'";
$search2 = "SELECT spalte1, spalte2, spalte3 FROM tabelle2 WHERE spalte1 LIKE '%".$db->escape($search)."%' OR spalte2 LIKE '%".$db->escape($search)."%' OR spalte3 LIKE '%".$db->escape($search)."%'";
$search3 = "SELECT spalte1, spalte2, spalte3, spalte4 FROM tabelle3 WHERE spalte1 LIKE '%".$db->escape($search)."%' OR spalte2 LIKE '%".$db->escape($search)."%' OR spalte3 LIKE '%".$db->escape($search)."%' OR spalte4 LIKE '%".$db->escape($search)."%'";
$search4 = "SELECT spalte1, spalte2 FROM tabelle4 WHERE spalte1 LIKE '%".$db->escape($search)."%' OR spalte2 LIKE '%".$db->escape($search)."%'";
$result1 = $db->query($search1);
$result2 = $db->query($search2);
$result3 = $db->query($search3);
$result4 = $db->query($search4);
while ($row = $db->fetchassoc($result1))
{
$suche[] = $row;
}
while ($row = $db->fetchassoc($result2))
{
$suche[] = $row;
}
while ($row = $db->fetchassoc($result3))
{
$suche[] = $row;
}
while ($row = $db->fetchassoc($result4))
{
$suche[] = $row;
}
So schreibe ich alle Ergebnisse in das Array $suche.