tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
1359
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    XXdynastieXX XXdynastieXX ist offline Mitglied Bronze
    Registriert seit
    May 2005
    Beiträge
    28
    Hallo!

    Und zwar habe ich eine Suchmaske mit folgenden Suchkriterien erstellt :

    Code :
    1
    2
    3
    4
    5
    6
    
    Bundesland
    Landkreis
    Veranstaltung
    Location
    Ort
    Datum, unterteilt in 3 Dropdowns TAG, MONAT, JAHR

    Alles funktioniert ja schön und gut, jedoch ist meine Suchmaske alles Andere als gut und zwar hier die Ausgabe :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    
    <?php
     
    $xbl = $_GET['bundesland'];
    $xlk = $_GET['landkreis'];
    $xpn = $_GET['partyname'];
    $xort = $_GET['ort'];
    $xtag = $_GET['tag'];
    $xmonat = $_GET['monat'];
    $xjahr = $_GET['jahr'];
     
    $sql="SELECT * FROM pc_events WHERE bundesland='$xbl' OR landkreis='$xlk' OR partyname='$xpn' OR ort='$xort' OR tag='$xtag' OR monat='$xmonat' OR jahr='$xjahr'";
    $result=mysql_query($sql);
     
    while ($row=mysql_fetch_assoc($result)) {
     
    echo"   <table width=\"700\" border=\"0\">";
    echo"     <tr>";
    echo"       <td rowspan=\"5\"><a href=\"". $row["flyer"] ."\" rel=\"lightbox\"><img width=\"200\" src=\"". $row["flyer"] ."\"></a></td>";
    echo"       <td align=\"left\"><table align=\"left\"><tr>";
    echo"       <td>". $row["partyname"] ." @ ". $row["location"] ."</td>";
    echo"     </tr>";
    echo"     <tr>";
    echo"       <td>"; include("ev_restzeit.php"); echo"</td>";
    echo"     </tr>";
    echo"     <tr>";
    echo"       <td>". $row["location"] ." in ". $row["ort"] ."</td>";
    echo"     </tr>";
    echo"     <tr>";
    echo"       <td>". $row["ort"] ." | ". $row["bundesland"] ."</td>";
    echo"     </tr>";
    echo"     <tr>";
    echo"       <td>". $row["beschreibung"] ." <a href=\"showevent.php?pid=". $row["id"] ."\">[mehr]</a></td>";
    echo"     </tr>";
    echo"   </table>";
    echo"   </td></tr></table>";
    echo"   <br>";
     
    }
    ?>

    Wie kann ich es denn realisieren, dass nicht immer nur ein Wert abgefragt wird? Sondern z.B. die Werte die auch ausgefüllt sind.
    Ich müsste dann wohl ein

    Code :
    1
    
    if (!empty($_GET['bundesland']) .....

    machen. Aber wie verknüpfe ich das alles gut zusammen? Ich kann ja nicht zu allen sagen if not empty und diese mit && verknüpfen weil dann muss ja jedes feld ausgefüllt sein.

    Liebe Grüße
     

  2. #2
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Eine Suche macht man normalerweis mit like wenn du ein = verwendet dann werden nur sachen gefunden die genau dem entsprechen.
    Bei like kanste induell Ergbnisse erzielen je nach dem wie man das dann definiert bsp alle die mit ab anfangen unsw.

    Ansonsten würd ich mit And die Befehle Abfragen or liefert dir immer nur 1 der gesuchten Kategorien.

    Mfg Splasch
    Geändert von splasch (27.05.08 um 19:13 Uhr)
     

  3. #3
    XXdynastieXX XXdynastieXX ist offline Mitglied Bronze
    Registriert seit
    May 2005
    Beiträge
    28
    Zitat Zitat von splasch Beitrag anzeigen
    Eine Suche macht man normalerweis mit like wenn du ein = verwendet dann werden nur sachen gefunden die genau dem entsprechen.
    Bei like kanste induell Ergbnisse erzielen je nach dem wie man das dann definiert bsp alle die mit ab anfangen unsw,

    Mfg Splasch
    Vielen Dank. Das weiss ich auch. Das ist momentan aber nicht meine Frage.
    Trotzdem vielen vielen Dank
     

  4. #4
    splasch splasch ist offline Mitglied Brillant
    Registriert seit
    Jul 2004
    Beiträge
    854
    Doch das Beantwortet genau deine Frage sollte mich mal fertig schreiben lassen *g

    Mfg Splasch
     

  5. #5
    XXdynastieXX XXdynastieXX ist offline Mitglied Bronze
    Registriert seit
    May 2005
    Beiträge
    28
    Zitat Zitat von splasch Beitrag anzeigen
    Doch das Beantwortet genau deine Frage sollte mich mal fertig schreiben lassen *g

    Mfg Splasch
    hehe, ja konnte ich nicht wissen dass noch etwas dazukommt, hehe. also habs jetzt abgeändert auf

    Code :
    1
    
    $sql="SELECT * FROM pc_events WHERE bundesland LIKE '%$xbl%' AND landkreis LIKE '%$xlk%' AND partyname LIKE '%$xpn%' AND ort LIKE '%$xort%' AND tag LIKE '%$xtag%' AND monat LIKE '%$xmonat%' AND jahr LIKE '%$xjahr%'";

    und scheint bis jetzt zu funktionieren...vielen dank!
     

  6. #6
    emu87 emu87 ist offline Grünschnabel
    Registriert seit
    Feb 2009
    Beiträge
    1
    Obwohl der Thread schon etwas älter ist wollte ich darauf hinweisen, dass diese Lösung SQL Injection anfällig ist.

    Never trust input parameter.


    emu
     

Ähnliche Themen

  1. Problem mit Suchmaske
    Von psifactory im Forum CSS
    Antworten: 0
    Letzter Beitrag: 20.02.08, 15:26
  2. Access Suchmaske
    Von Feljander im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 07.02.08, 18:32
  3. Problem bei Suchmaske
    Von seltsam_mit_hut im Forum PHP
    Antworten: 7
    Letzter Beitrag: 14.09.06, 21:05
  4. Geschwungene Linie perfektionieren?
    Von hagi2k2 im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 26.11.04, 01:24
  5. Suchmaske für Datenbank
    Von Blechi im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 08.06.03, 21:20