Hier einfach so "quick and dirty" eine Idee, wie so etwas - unabhängig von der Menge und Art der Tabellen - möglich wäre:
PHP-Code:
mysql_connect($host, $user, $passwd) or die(mysql_error());
mysql_select_db('netzwerk') or die(mysql_error());
$such = 'was auch immer';
$sql = "SHOW TABLES";
$res1 = mysql_query($sql) or die(mysql_error());
while (list($table) = mysql_fetch_row($res1))
{
// echo "$table
";
$sql = "SELECT * FROM $table";
$res2 = mysql_query($sql) or die(mysql_error());
$where = ' WHERE ';
$or = '';
$farray = array();
$felder = '';
while($feld = mysql_fetch_field($res2))
{
// echo "$feld->name : $feld->type : $feld->numeric
";
$farray[] = $feld->name;
$felder .= ", $feld->name";
if ($feld->numeric == 1)
{
if (is_numeric($such)) // In nummerischen Feldern kann nur nach Zahlen
{ // und nicht mit Wildcards gesucht werden
$where .= "$or $feld->name = $such ";
$or = 'OR';
}
}
else
{
$where .= "$or $feld->name like '%$such%' ";
$or = 'OR';
}
}
$felder = ereg_replace('^, ', '', $felder);
if ($where != ' WHERE ') // Falls Bedingungen eingegeben
{
$sql = ""SELECT $felder from $table $where"";
}
else
{
continue; // Nächste Tabelle
}
// echo "$sql
";
$res3 = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_row($res3))
{
for($i = 0;$i < count($row);$i ++)
{
echo " $farray[$i] = " . $row[$i];
}
echo "
";
}
}
Vielleicht kannst du darauf etwas aufbauen.