Ergebnis 1 bis 6 von 6

Thema: Suchformular mit mehreren Checkboxen

  1. #1
    Ugen
    Gast

    Standard Suchformular mit mehreren Checkboxen

    Guten Tag Zusammen.

    Ich kriegs einfach nicht hin. Bräuchte einen Denkansatz von PHP-Könnern bitte. Folgende Situation:

    Pro Datensatz werden in einer MySQL DB verschiedene Felder gespeichert. Z.B. Land (Deutschland), Farbe (gelb), Gebraucht (ja), Typ (eins), usw. Insgesamt sind es vielleicht ca. 20-30 Felder.
    Diese Felder möchte ich mit einem Suchformular abfragen um dann (per Detailsuche) die entsprechenden Datensätze zu erhalten. Das Problem ist nun, dass ich keinen Ansatz habe wie ich das bewerkstelligen kann.
    Dazu kommt noch,dass ich im Suchformular nicht Texteingaben mache, sondern alle möglichen Eingabevarianten mit Checkboxen auswählen lasse. Der User klickt dann nur die entsprechenden Checkboxen an (können natürlich auch mehrere sein) und anhand dieser Checkboxen muss ich in der DB suchen.

    Keine Ahnung wie ich da anfangen soll. Hab zwar schon einiges in PHP erfolgreich realisiert, aber bin trotzdem noch Anfänger und habe bei diesem Problem einen Blackout!
    Bin für jede Hilfe sehr dankbar!!!!

    Bernd
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Suchformular mit mehreren Checkboxen

    Das ist garnicht so schwer. Du musst nur drauf achten, dass die Feldnamen im Formular identisch mit den Namen der Tabellenspalten sind.
    PHP-Code:
    <?php
      
      
    // Wenn Submit geklckt wurde
      
    if (isset($_POST['submit']))
      {
         
    // Den Submit-Button rauswerfen
         
    unset($_POST['submit']);
         
         
    // Leeres Array für Bedingungen anlegen
         
    $conditions = array();
         
         
    // Schleife über alle Daten
         
    foreach ($_POST as $key => $value)
         {
             
    // Wenn es Checkboxen sind, haben wir hier ein Array
             
    if (is_array($value))
             {
                 
    // Leeres Array zum Sammeln anlegen
                 
    $data = array();
                 
                 
    // Schleife über die Checkboxen
                 
    foreach($value as $val)
                   
    $data[] = "`$key`='$val'";
                 
                 
    // Bedingung zusammensetzen
                 
    $conditions[] = "(" implode(" or "$data) . ")";
             }
             else
             {
                  
    // Kein Array, einfach an die Bedingungen hängen
                  
    if (strlen($value))
                     
    $conditions[] = "`$key`='" mysql_real_escape_string($value) . "'";
             }
         }
         
         
    // Abfrage zusammenbauen
         
    $query "Select
                     `country`,
                     `color`,
                     `used`,
                     `typ`
                    from
                      `tabelle`"
    ;
         
         
    // Bedingungen dranhängen     
         
    if (count($conditions))
            
    $query .= " where " implode(" and "$conditions);
            
         echo 
    "$query<br />";
      }
    ?>
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
    Land: <input type="text" name="country"><br />
    Farbe: <input type="checkbox" name="color[]" value="rot">rot <input type="checkbox" name="color[]" value="gelb">gelb <input type="checkbox" name="color[]" value="blau">blau<br />
    Typ: <input type="radio" name="typ" value="1"> 1 <input type="radio" name="typ" value="2"> 2 <input type="radio" name="typ" value="3"> 3<br />
    <input type="submit" name="submit" value="Suchen">
    </form>

  3. #3
    Ugen
    Gast

    Standard AW: Suchformular mit mehreren Checkboxen

    Hallo Bandit.

    Danke für Deine sehr ausführliche Hilfestellung! Das hilft mir sehr weiter. Habs noch nicht probiert weil ich erst die nächsten Tage dazu kommen werde.
    Vielen Dank nochmals!!!

    UWE

  4. #4
    Ugen
    Gast

    Standard AW: Suchformular mit mehreren Checkboxen

    Hallo Bandit.

    Ich wollte dir kurz sagen dass meine Detailsuche (mit DEINER Hilfe) genau so funktioniert wie ich das wollte. Hab vielen, vielen Dank für deine Hilfe.
    Eine Frage habe ich noch dazu bitte. Ich möche noch folgende zwei Suchfelder einbinden:

    Länge: ( ) cm - ( ) cm

    Als Ergebnis sollen nur die Artikel ausgegeben werden die innerhalb dieser Längenangaben liegen.
    Könntest du mir vielleicht diesbezüglich noch einen Tip geben? Hab vieles versucht aber krieg´s nicht gebacken.
    Vielen Dank einstweilen!

    Gruss
    UWE

  5. #5
    Bandit
    Gast

    Standard AW: Suchformular mit mehreren Checkboxen

    Hab's mal in das Beispiel eingebaut:
    PHP-Code:
    <?php
      
      
    // Wenn Submit geklckt wurde
      
    if (isset($_POST['submit']))
      {
         
    // Den Submit-Button rauswerfen
         
    unset($_POST['submit']);
         
         
    // Laengenangaben
         
    $length1 trim($_POST['length1']);
         
    $length2 trim($_POST['length2']);
         
         
    // Laengen rauswerfen
         
    unset($_POST['length1']);
         unset(
    $_POST['length2']);
         
         
    // Leeres Array für Bedingungen anlegen
         
    $conditions = array();
         
         if (
    strlen($length1) && strlen($length2))
         {
            
    // Laengen bestimmen, wenn beide eingetragen wurden
            
    if (is_numeric($length1) && is_numeric($length2))
              
    $conditions[] = "(`laenge` >=  $length1 and `laenge` <=  $length2)"
         }
         else if (
    strlen($length1))
         {
            
    // Laengen bestimmen, wenn nur die erste Länge eingetragen wurden
            
    if (is_numeric($length1))
              
    $conditions[] = "`laenge` = $length1"
         }
         
         
    // Schleife über alle Daten
         
    foreach ($_POST as $key => $value)
         {
             
    // Wenn es Checkboxen sind, haben wir hier ein Array
             
    if (is_array($value))
             {
                 
    // Leeres Array zum Sammeln anlegen
                 
    $data = array();
                 
                 
    // Schleife über die Checkboxen
                 
    foreach($value as $val)
                   
    $data[] = "`$key`='$val'";
                 
                 
    // Bedingung zusammensetzen
                 
    $conditions[] = "(" implode(" or "$data) . ")";
             }
             else
             {
                  
    // Kein Array, einfach an die Bedingungen hängen
                  
    if (strlen($value))
                     
    $conditions[] = "`$key`='" mysql_real_escape_string($value) . "'";
             }
         }
         
         
    // Abfrage zusammenbauen
         
    $query "Select
                     `country`,
                     `color`,
                     `used`,
                     `typ`
                    from
                      `tabelle`"
    ;
         
         
    // Bedingungen dranhängen     
         
    if (count($conditions))
            
    $query .= " where " implode(" and "$conditions);
            
         echo 
    "$query<br />";
      }
    ?>
    <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
    Land: <input type="text" name="country"><br />
    Farbe: <input type="checkbox" name="color[]" value="rot">rot <input type="checkbox" name="color[]" value="gelb">gelb <input type="checkbox" name="color[]" value="blau">blau<br />
    Typ: <input type="radio" name="typ" value="1"> 1 <input type="radio" name="typ" value="2"> 2 <input type="radio" name="typ" value="3"> 3<br />
    Länge von <input type="text" name="length1" size="3"> bis <input type="text" name="length2" size="3">
    <input type="submit" name="submit" value="Suchen">
    </form>

  6. #6
    Ugen
    Gast

    Standard AW: Suchformular mit mehreren Checkboxen

    Hallo Bandit.

    Millionenfachen DANK! Funktioniert super. Du hast mir wirklich sehr geholfen!!!

    Gruss
    Uwe

Ähnliche Themen

  1. Checkboxen
    Von Tobse im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 17
    Letzter Beitrag: 29.03.2010, 18:08
  2. Suchformular mit zugriff auf die Datenbank felder
    Von djsky im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 12.10.2009, 11:20
  3. Checkboxen mit $GET
    Von CHoTlMaL im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 12.04.2007, 20:39
  4. Checkboxen
    Von Nilos007 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 13.02.2006, 11:07
  5. Ausgabe mit Checkboxen
    Von im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 05.12.2005, 16:39

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •