suchen mit checkbox

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • suchen mit checkbox

    Muß leider mal wieder nerven.

    Habe ein formular mit checkboxen wo ich daten eingebe. sind dieses gesetzt wird eine 1 in die datenbank geschrieben, ansonsten eine 0.

    habe jetzt ein suchformular wo ich die checkboxen erneut habe, möchte irgendeine davon anklicken oder mehrere und er soll mir dann bestimmte daten des datensatzes ausgeben,

    mein suchformular schaut so aus:
    PHP-Code:
    <?php

      
    // Array für die Where-Bedingungen initialisieren
      
    $whereValues = array();

     
    // Sind Checkboxen gesetzt?
      
    if (isset($HTTP_POST_VARS["checkboxes"]))
      {
        
    // Checkboxen geklickt
        
    $checkboxes $HTTP_POST_VARS["checkboxes"];

        
    // Zu den Bedingungen hinzufügen
        
    foreach ($checkboxes as $value)
          
    $whereValues[] = "$value=1";
      }

       
    // Wenn Bedingungen vorhanden, zu einem String zusammensetzen
       // Hier wird AND benutzt
       
    if (count($whereValues))
         
    $where implode(" AND "$whereValues);
       else
         
    $where "";

      
    // Verbindung zur Datenbank-Server herstellen
      // Hier anpassen!!!!!!!
      
    $sql mysql_connect("localhost","root","");

      
    // Datenbank auswählen
      // Hier anpassen!!!!!!!
      
    mysql_select_db("veranstaltungen");
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.0 //EN">
    <html>
    <body>
    <table border="0" align=center>
     <tr bgcolor="#C0C0C0">
       <td><b>Datum_Beginn</b></td>
       <td><b>Uhrzeit_Beginn</b></td>
       <td><b>Informationen</b></td>
     </tr>

    <?
      // Hintergrundfarbe für Zeile
      $color = "#FFFF00";

      // Query aufbauen
      $query = "SELECT id, Datum_Beginn, Uhrzeit_Beginn, Informationen, from daten";

      // Wenn Bedingungen vorhanden, dranhängen
      // ansonsten werden alle Einträge gelistet
      if (strlen($where))
        $query .= " WHERE " . $where;

      // Query ausführen
      $result = mysql_query($query) or die("Fehler in query. " . mysql_error());

      // Haben wir Treffer?
      if (mysql_num_rows($result))
      {
          // Wir haben Treffer, also abarbeiten
          while ($row = mysql_fetch_array($result))
          {
            echo " <tr bgcolor=\"$color\">\n";
            echo "   <td align=center>$row[Datum_Beginn]</td>\n";
            echo "   <td align=center>$row[Uhrzeit_Beginn]</td>\n";
            echo "   <td align=center>$row[Informationen]</td>\n";
            echo "   <td><a href=\"infos.php?id=$row[id]\">weitere Info's</a></td>\n";
            echo " </tr>\n";

            // Farbe für die nächste Zeile umsetzen
            $color = ($color == "#FFFF00") ? "#00FFAF" : "#FFFF00";

          }
      }
      else
      {
        // keine Treffer gefunden
        echo " <tr bgcolor=\"$color\">\n";
        echo "   <td colspan=\"5\"><b>Keine passenden Daten gefunden!</b></td>\n";
        echo " </tr>\n";
      }

      // Datenbakverbindung schließen
      mysql_close($sql);
    ?>
    </table>
    </body>
    </html>
    ich bekomme folgende fehlermeldung

    Fehler in query. You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'from daten' at line 1

    und verstehe nicht warum?

  • #2
    Re: suchen mit checkbox

    nimm mal das komma vor "from daten" aus der query raus ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ok

      ja bekomme jetzt eine ausgabe aller datensätze, möchte aber nur die ausgabe haben, wo ich haken setze, meine maske zum haken setzen sieht so aus:
      PHP-Code:
      <?php

      if (isset($_POST['action']) && isset($_POST['myCheck'])) {

      }

      ?>
      <html>
      <head>
      <title>Untitled Document</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body bgcolor="#FFFFFF" text="#000000">
      <form name="form1" method="post" action="suchenk.php">
      <input type="hidden" name="action" value="1">
        <table width="100%" border="0">
          <tr> 
            <td width="20%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Ausstellung">
              </div>
            </td>
            <td width="11%">Ausstellung</td>
            <td width="7%">&nbsp;</td>
            <td width="2%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Meiningen">
              </div>
            </td>
            <td width="60%">Meiningen</td>
          </tr>
          <tr> 
            <td width="20%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Konzert">
              </div>
            </td>
            <td width="11%">Konzert</td>
            <td width="7%">&nbsp;</td>
            <td width="2%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Coburg">
              </div>
            </td>
            <td width="60%">Coburg</td>
          </tr>
          <tr> 
            <td width="20%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Fest">
              </div>
            </td>
            <td width="11%">Fest</td>
            <td width="7%">&nbsp;</td>
            <td width="2%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Bamberg">
              </div>
            </td>
            <td width="60%">Bamberg</td>
          </tr>
          <tr> 
            <td width="20%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="sonstiges">
              </div>
            </td>
            <td width="11%">sonstiges</td>
            <td width="7%">&nbsp;</td>
            <td width="2%"> 
              <div align="right"> 
                <input type="checkbox" name="myCheck[]" value="Heldburg">
              </div>
            </td>
            <td width="60%">Heldburg</td>
          </tr>
          <tr> 
            <td width="20%">&nbsp;</td>
            <td width="11%">&nbsp;</td>
            <td width="7%">&nbsp;</td>
            <td width="2%">
              <input type="checkbox" name="myCheck[]" value="Kloster_Veßra">
            </td>
            <td width="60%">Kloster Ve&szlig;ra</td>
          </tr>
          <tr> 
            <td width="20%" height="24">&nbsp;</td>
            <td colspan="2" height="24" rowspan="2"> 
              <div align="center"> 
                <input type="submit" name="Abschicken" value="Anzeigen">
              </div>
            </td>
            <td width="2%" height="24"> 
              <div align="right">
                <input type="checkbox" name="myCheck[]" value="Umkreis">
              </div>
            </td>
            <td width="60%" height="24">Umkreis</td>
          </tr>
          <tr> 
            <td width="20%">&nbsp;</td>
            <td width="2%"> 
              <div align="right"> </div>
            </td>
            <td width="60%">&nbsp;</td>
          </tr>
        </table>
      </form>
      </body>
      </html>
      Bsp. habe jetzt in der datenbank einen datensatz, wo in ausstellung eine 1 steht, möchte dann wenn ich in der maske bei ausstellung einen haken setze nur die datensätze angezeigt haben, wo in der datenbank bei ausstellung eine 1 steht und alle anderen nicht. hoffe das problem ist verständlich.

      Kommentar


      • #4
        Re: ok

        Original geschrieben von sunburner
        Bsp. habe jetzt in der datenbank einen datensatz, wo in ausstellung eine 1 steht, möchte dann wenn ich in der maske bei ausstellung einen haken setze nur die datensätze angezeigt haben, wo in der datenbank bei ausstellung eine 1 steht und alle anderen nicht.
        der fett markierte teil erfordert eine geeignete where-bedingung, soviel sollte wohl klar sein.

        also überlege dir, wie du dir eine solche zusammensetzen kannst, in abhängigkeit von irgendwelchen checkboxen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Frage,

          wenn ich dieses könnte/wüßte dann würde ich hier nicht posten, habe davon leider keine Ahnung.
          Besteht die Möglichkeit mir ein Bsp. für Abhängigkeit von 2 checkboxen aufzuzeigen?

          Kommentar


          • #6
            oder

            hat jemand einen link, wo man sich dieses ansehen kann.

            Kommentar


            • #7
              Re: oder

              führe dein obiges script bis zu der stelle aus, an der die query zusammengesetzt wird.

              führe diese dann nicht aus, sondern lasse sie dir mit echo ausgeben (anschliessend exit() um aus dem script auszusteigen).

              sieh dir dann an, wie deine erzeugte query aussieht - steht da überhaupt was _sinnvolles_ drin? (ich denke eher nicht, nach kurzem überfliegen deines codes.)
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                also

                habe ein echo eingefügt, und die Ausgabe ergibt folgendes:

                SELECT id, Datum_Beginn, Uhrzeit_Beginn, Informationen from daten

                das bringt mich aber auch nicht viel weiter :-(

                Kommentar


                • #9
                  dann gib noch den inhalt deines arrays "my_check" aus:

                  print_r($_POST['my_check']);

                  dann siehst du, was beim script ankommt ... dann noch ne bedingung mit ner schicke schleife, die dein "where" zusammensetzt ... und so weiter
                  Kissolino.com

                  Kommentar


                  • #10
                    Original geschrieben von Wurzel
                    dann noch ne bedingung mit ner schicke schleife, die dein "where" zusammensetzt ... und so weiter
                    diese schleife hat er ja oben im script offensichtlich schon - nur scheint die nicht zu funktionieren wie erwartet, bei der ge-echo-ten query gibt's ja keinerlei where-klausel.

                    also ist wohl mal debugging angesagt :-)
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      punkt_aus_schluss

                      Ich glaube ich gebe es auf, ich blicke es nicht.
                      ich glaube ich gebe es auf, mich in den ferien mit dingen zu beschäftigen die ich nicht gelernt habe und von denen ich keine ahnung habe, nur um jemanden einen gefallen zu tun.

                      Kommentar

                      Lädt...
                      X