Hello,
wie Ihr das von mir inzwischen ja kennt, hatte die erste Idee noch ganz schön viele Macken, aber hier ist ein Scriptschnipsel, der funktioniert:
<?php
$table ="TEST";
$filter["name"] = "Hansm%";
$filter["vorname"] = "Hans";
$filter["strasse"] = "Rosenhügel";
$info["name"]["type"] = "string";
$info["name"]["key"] = "MUL";
$info["vorname"]["type"] = "string";
$info["vorname"]["key"] = "MUL";
$info["strasse"]["type"] = "string";
$info["strasse"]["key"] = "MUL";
foreach($filter as $key => $value)
{
$value=trim($value);
if ((strlen($value)>0) and (strlen($info[$key]["key"])==3))
{
## hier sollte man noch einen Typ-Abgleich machen!
## if (checktype($key,&$val,$info) ## habe ich noch nicht fertig
## Like dürfte z.B bei numerischen Feldern nicht erlaubt sein
## Und das Datum könnte man richtigstellen, falls möglich
## Und Buchstaben in numerischen Typen prüfen
## ...
$eq=(strpos($value,"%")!==false)?"like":"=";
$where .= " $key $eq '".mysql_escape_string($value)."' and";
}
}
if (strlen($where)>0)
{
$where = " where ".substr($where,0,-4);
}
$sql = "Select $fields from $table $where";
echo htmlentities($sql);
?>
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen