Abfrage?

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

  • Abfrage?

    Hallo - Guten Morgen,

    ich habe folgende SQL Abfrage
    select cocktail.name,mix.cid,cocktail.alk
    from cocktail,mix,zutat
    where zutat.zid =11 and 12 and mix.zid=zutat.zid and mix.cid=cocktail.cid
    wobei die letzte Zeile ausschlaggebend ist.

    wie kann ich per php verschieden viele argumente zu "zutat.zid" eingeben?

    d.h. einmal soll nur nach "zutat.zid = 11" gesucht werden, ein anderes mal nach "zutat.zid = 11 and 12 and 13 and 15"

    wie bekomme ich das hin??

    Liebe Grüße
    Clemens

  • #2
    ich gehe mal davon aus, die zutaten kommen über eine sammlung von
    checkboxen ... übergib sie als array und füg sie zB mit implode() ein.
    Kissolino.com

    Kommentar


    • #3
      checkbox nicht - aus einer Listbox

      wie genau geht das?

      Kommentar


      • #4
        ob checkbox oder listbox. die daten kommen gleich bzw ähnlich an.

        wie implode() zu verwenden ist, steht im manual unter www.php.net .
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          das weiß ich schon, nur z.Zt scheitere ich daran, dass ich die Daten aus der DB auslese und in das Formular verpacke, und übergeben kann zum auslesen...


          <?php
          include("config.php");
          $result = @mysql_query("Select * from zutat");
          while ($zeile = mysql_fetch_array($result)) {
          echo "<form action=\"".search01.php."\" method=\"post\" name=\"search\">";
          echo "<select size=\"10\" name=\"search\" multiple>";
          $zutat = $zeile["name"];
          $zid = $zeile["zid"];
          $sel = $zutat == $search ? 'selected' : '';
          print ("<option value=\"$zid\" $sel>$zutat</option>");}
          echo "</select><input type=\"submit\" value=\"Abschicken\" name=\"B1\"><input type=\"reset\" value=\"Zurücksetzen\ name=\"B2\">

          ?>
          ???

          Kommentar


          • #6
            vielleicht nimmst du mal dein "echo "<select ... " aus der while-schleife oder woran haperts?
            Kissolino.com

            Kommentar


            • #7
              wenn ich den Code so schreibe

              PHP-Code:
              <html>

              <head>
              <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
              <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
              <meta name="ProgId" content="FrontPage.Editor.Document">
              <title>Neue Seite 1</title>
              </head>

              <body>

              <form method="POST" action="search01.php">
                <p><select size="10" name="search" multiple>
                <?php
                  
              include("config.php");
                  
              $result = @mysql_query("Select * from zutat");
                      while (
              $zeile mysql_fetch_array($result)) {

                  
              $zutat $zeile["name"];
                  
              $zid $zeile["zid"];
                  
              $sel $zutat == $search 'selected' '';
                  print (
              "<option value=\"$zid\" $sel>$zutat</option>");}
                  
              ?>

                </select><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
              </form>

              </body>

              </html>
              funktioniert die Auswahl einwandfrei - nur es werden keine Daten an search01.php weitergeleitet!?!?
              Was natürlich blöd ist - hab schon alles durchprobiert - aber es will nicht klappen....

              EDIT:
              php-tags by wurzel
              Zuletzt geändert von Wurzel; 17.01.2004, 10:44.

              Kommentar


              • #8
                funktioniert die Auswahl einwandfrei - nur es werden keine Daten an search01.php weitergeleitet!?!?
                Was natürlich blöd ist - hab schon alles durchprobiert - aber es will nicht klappen....
                was ergibt print_r($_POST) auf der auswertungsseite?
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  OK

                  hab etwas gestöbert:
                  mit echo $_REQUEST['search'];
                  gibt er mir die ausgewählte id aus


                  Wenn ich aber mehrere Zutaten auswähle erscheint :

                  "Array"

                  ???
                  Zuletzt geändert von whistler81; 17.01.2004, 10:42.

                  Kommentar


                  • #10
                    hat keiner eine Ahnung?

                    Kommentar


                    • #11
                      Original geschrieben von whistler81
                      hat keiner eine Ahnung?
                      doch


                      wie wäre es, wenn du dich mal zum thema "array" schlau machst:
                      - print_r()
                      - in_array();
                      - ...
                      Kissolino.com

                      Kommentar


                      • #12
                        hab das jetzt mal so gelöst:

                        PHP-Code:
                        <?php
                        include("config.php");
                        for(
                        $i 0$i count($zid); $i++)
                        echo 
                        "$zid[$i]<br>\n";
                        $result = @mysql_query("select cocktail.name,mix.cid,cocktail.alk
                        from cocktail,mix,zutat where zutat.zid = '
                        $zid[$i]'
                        and mix.zid=zutat.zid and mix.cid=cocktail.cid"
                        );

                            while (
                        $row mysql_fetch_array($result)){
                                
                        printf("$row[name]");
                            }
                            
                        ?>
                        bekomme dann die IDs der ausgewählten Cocktails = echo "$zid[$i]<br>\n";

                        Warum klappt die Mysql abfrage aber nicht??Bitte um hilfe!

                        LG
                        Clemens
                        Zuletzt geändert von wahsaga; 22.01.2004, 11:43.

                        Kommentar


                        • #13
                          wenn etwas nicht funktioniert ... warum zum geier unterdrückt man dann die fehlerausgabe mit einem @????? was spricht mysql_error()?
                          h.a.n.d.
                          Schmalle

                          http://impressed.by
                          http://blog.schmalenberger.it



                          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                          ... nur ohne :-)

                          Kommentar


                          • #14
                            ok lass ja mit mir reden
                            Notice: Undefined offset: 10 in...

                            Kommentar


                            • #15
                              Original geschrieben von whistler81
                              Notice: Undefined offset: 10 in...
                              dann weisst du ja , wo du ansetzen musst.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X