mercedes: php / mysql - suche mit 1 input feld & 1 select feld

Hallo,
ich habe derzeit eine Suche mit einem inputfeld.
Ich brauche aber eine Suche mit einem inputfeld (Datum) !!und!! einem select feld (Schicht).
Wie kann ich die Abfrage so umfummeln, das ich beide zur suche benutzen kann.

Gruß

  
if ($_REQUEST) { // Daten über REQUEST (d.h. Formular abgeschickt)?  
  
// Filter für den Suchbegriff  
 if (ereg("[a-zA-Z0-9.äöüÄÖÜß]{3}", quotemeta(strip_tags(trim($_REQUEST["suchbegriff"]))))) {  
  $suchbegriff = mysql_real_escape_string($_REQUEST["suchbegriff"]);  
  $spalte = in_array($_POST["spalte"] , array("DATUM", "SCHICHT",)) ? $_POST["spalte"] : "DATUM";  
  
// SQL-Befehl  
  $sql = "SELECT * FROM `tabelle`  
   WHERE (  
      `DATUM`  
    LIKE  
      '%" . $suchbegriff . "%'  
    AND  
       `SCHICHT`  
    LIKE  
      '%" . $suchbegriff . "%'  
   )  
   ORDER BY  
     `" . $spalte . "` ASC  
   LIMIT 0 , 100" or die(mysql_error()); // Maximal 100 Datensätze  
  $datensaetze = mysql_query($sql);  
  
Suche: <input type="text" name="suchbegriff" value="<?php echo isset($_REQUEST["suchbegriff"]) ? $_REQUEST["suchbegriff"] : ""; ?>" size="20" /><br><br />  
  

  1. Hallo Mercedes,

    Hallo,
    ich habe derzeit eine Suche mit einem inputfeld.
    Ich brauche aber eine Suche mit einem inputfeld (Datum) !!und!! einem select feld (Schicht).
    Wie kann ich die Abfrage so umfummeln, das ich beide zur suche benutzen kann.

    ein Datenbänker bin ich nicht, jedoch fallen mir ein paar Sachen bei Deinem Code ins Auge:

    if ($_REQUEST) { // Daten über REQUEST (d.h. Formular abgeschickt)?

    Das ist quick & dirty. Besser: if(!empty($_REQUEST)){} oder ganz sicher: if(isset($_POST['spalte']) && isset($_POST['suchbegriff')){}

    if (ereg("[a-zA-Z0-9.äöüÄÖÜß]{3}", quotemeta(strip_tags(trim($_REQUEST["suchbegriff"]))))) {

    Sie Dir bitte die Beschreibung von ereg() an! >Insbesondere aber erscheint mir die Kombination vom Pattern "[a-zA-Z0-9.äöüÄÖÜß]{3}" im Hinblick auf den Gebrauch der Funktion quotemeta() fragwürdig.

    Gruß aus Berlin!
    eddi

    1. if (ereg("[a-zA-Z0-9.äöüÄÖÜß]{3}", quotemeta(strip_tags(trim($_REQUEST["suchbegriff"]))))) {

      ...mhh, ich glaube das brauche ich garnicht.
      Es werden nur feste Vorgaben (zBsp. PP22, FW12,...PP42 immer in Verebindung mit einem Datum) als Suchbegriff verwendet.

      Gruß

      1. Re:

        ...mhh, ich glaube das brauche ich garnicht.
        Es werden nur feste Vorgaben (zBsp. PP22, FW12,...PP42 immer in Verebindung mit einem Datum) als Suchbegriff verwendet.

        jups, wenn es aus einem <select> kommt. ;)

        Gruß aus Berlin!
        eddi

      2. Es werden nur feste Vorgaben (zBsp. PP22, FW12,...PP42)

        Gruß

        ...mit Select, das Datum mit input Feld als Suchbegriff verwendet.