Neuigkeiten:

still alive...

Hauptmenü

Datenbankausgabe mit preg_match-Auswahl

Begonnen von nutzer, 11. Dezember 2006, 21:03:14

Vorheriges Thema - Nächstes Thema

nutzer

Hallo,
habe größeres Problem:
Seit langem schon probiere ich meine Datenbanktabelle \" tabelle_lehrer \"
mit einem Suchformular für die Schüler(PLZ oder Wohnort-Suche + Auswahl von Schulfach aus Drop-Menü) und anschließender Trefferanzeige auf folgender Seite zu verbinden.
Die Übergabe habe ich mit folgendem Befehl gelöst:
 
form action=\"ergebnis_lehrersuche.php\" method=\"post\" input type=\"text\" name=\"plz\" value=\"\">
\">
\">
 
Das Ergebnis für die Lehrersuche habe ich so hinterlegt:
 


$where_string = \" WHERE \";
$operator = \" = \";
$form_input = $_POST;
$first = true;
$suchmuster = \"/dbsearch_([a-zA-Z0-9]*)_(.*)/\";
$op_suchmuster = \"/OP(.*)_(.*)/\";
if(is_array($form_input)) {
   foreach($form_input AS $key => $value) {
       if(preg_match($suchmuster, $key, $treffer)) {
         $op = $operator;
         if(preg_match($op_suchmuster, $treffer[2], $op_treffer)) {
           switch($op_treffer[1]) {
             case \"SAME\":
               $op = \" = \";
               break;
             case \"LIKE\":
               $op = \" LIKE \";
               break;
             case \"NOTSAME\":
               $op = \" NOT = \";
               break;
             case \"NOTLIKE\":
               $op = \" NOT LIKE \";
               break;
             default:
               $op = $operator;
               break;
       }
     }
           if(!empty($value)) {
               $where_string.= $first ? $treffer[1] . $op . \"\'\". $value . \"\'\" : \" AND \". $treffer[1] . $op . \"\'\". $value . \"\'\";
               $first = false;
           }
       }
   }
}

 
 
 

Ergebnis Lehrersuche
 

Zur Zeit keine Verbindung  \" .
            \"zum Datenbankserver möglich.\" );
             exit();
}
// Datenbank auswaehlen    
if (! @mysql_select_db(\"xxxxxxx\") )
{
echo( \"Auswahl der Nachhilfe-Datenbank  \" .
             \"zur Zeit nicht möglich.\" );
       exit();
}
echo(\" Ihre Suchergebnisse \");
// Einträge abfragen
$result = @mysql_query(\"SELECT * FROM tabelle_lehrer WHERE plz or wohnort = \'value\' AND faecher = \'value\'\");
if (!$result) {
echo(\"Fehler bei der Ausführung der Abfrage: \" . mysql_error() . \"\");
exit();
}
?>
 
IDVornameNachnameStrassePLZWohnortVorwahl-TelefonTelefonVorwahl-HandyHandyEmailLehrerart
\" , ($i++%2?\"ff\":\"cc\"));
  printf(\"%s%s%s%s%s%s%s%s%s%s%s%s\" ,$row[\"id\"] ,$row[\"vorname\"] ,$row[\"nachname\"] ,$row[\"strasse\"] ,$row[\"plz\"] ,$row[\"wohnort\"] ,$row[\"vorwahl_telefon\"] ,$row[\"telefon\"], $row[\"vorwahl_handy\"] ,$row[\"handy\"] ,$row[\"email\"] ,$row[\"lehrerart\"]);
}
?>
 
hier\';
?>
 
 
Was ist falsch an meinem Code ?
Im Moment zeigt er mir nur auf der Ergebnisseite alle Einträge an, die in der tabelle_lehrer stehen. Schön ordentlich mit grünen Feldüberschriften !!
Aber egal was ich in der Suche auch eingebe, immer das gleiche Ergebnis.
Wo liegt der Fehler
 
Danke schonmal.
Für mich ist das sehr schwierig, da ich blutiger Anfänger bin

all your base are belong to us / Discord