Tom: MySQL Suchfunktion aufbauen, 1. Korrektur

Beitrag lesen

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