where abfrage mit AND?

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

  • where abfrage mit AND?

    Hi ho

    Fehler: Keine Ausgabe

    Meine where abfrage ist denke ich mal schuld ich habe mehrer abfragen gemacht mit AND getrennt

    PHP-Code:
    $query "SELECT
            id,
            name,
            nr,
            block,
            satz,
            kartentyp,
            volk        
         FROM
            karten WHERE name LIKE '%
    $name%' AND kartentyp
     = '
    $kartentyp' AND block = '$block' AND volk = '$volk' AND satz = '$satz'
     AND nr LIKE '%
    $wert%' ORDER BY `id` DESC"
    ich weiss aber nicht ob dies funktionieren kann

    edit liegt wohl nicht dadran sorry
    ich hab ne echo ausgabe aller vars gemacht und nur der name wird übertragen

    PHP-Code:
    <?php 
    include ("config.php");
    $page=$_GET['page'];
    if(!isset(
    $page))
    $name=$_POST['name'];
    $kartentyp=$_POST['kartentyp'];
    $block=$_POST['block'];
    $volk=$_POST['volk'];
    $satz=$_POST['satz'];
    $wert=$_POST['wert'];
    if(isset(
    $page))
    $name=$_GET['name'];
    $kartentyp=$_GET['kartentyp'];
    $block=$_GET['block'];
    $volk=$_GET['volk'];
    $satz=$_GET['satz'];
    $wert=$_GET['wert'];
    liegt das hier dran? kann man nur eine $_POST empfangen?

    Biffi
    Zuletzt geändert von Biffi; 14.06.2005, 11:40.

  • #2
    wenn alle where Bedingungen erfüllt werden, warum sollte es dann nicht gehen.

    Einfach mal einpaar Gedanken über die Abfrage machen und dann Posten
    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

    Kommentar


    • #3
      Poste bitte mal einen Datensatz, der deiner Meinung nach diesen Kriterien genügt.

      Damit das auch für alle nachvollziehbar ist, poste bitte die konkrete Abfrage mit
      PHP-Code:
      echo $query
      Ich denke, also bin ich. - Einige sind trotzdem...

      Kommentar


      • #4
        ich hab oben editiert

        edit: ich poste noch zusätlich mal die datei wo die daten
        eingegeben werden

        PHP-Code:
        <form name="nummer" method="post" action="index.php?site=karten/kartenerw">
                    <table width="291" align="center">
                      <tr>
                        <td width="142"><font color="#999999">Karten Name:<br>
                          <input name="name" type="text" id="name" size="15">
                        </font></td>
                        <td width="137"><font color="#999999">Karten Typ:<br>
                        <select name="kartentyp" size="1" id="kartentyp">
                        <?php
                    
        //Mysql select    
                    
        $sql "SELECT DISTINCT * FROM karten GROUP BY kartentyp";
                       
        $result mysql_query($sql) OR die(mysql_error());
                       while(
        $row mysql_fetch_assoc($result)) 
                    {
                    
        ?>
                        <option value="<?php echo $row['kartentyp']; ?>">
        <?php echo $row['kartentyp']; ?></option>
                        <?php
                      
        }
                      
        ?>
                      </select>
                        </font></td>
                      </tr>
                      <tr>
                        <td><font color="#999999">Block:<br>
                        <select name="block" size="1" id="block">
                        <?php
                    
        //Mysql select    
                    
        $sql "SELECT DISTINCT * FROM karten GROUP BY block";
                       
        $result mysql_query($sql) OR die(mysql_error());
                       while(
        $row mysql_fetch_assoc($result)) 
                    {
                    
        ?>
                        <option value="<?php echo $row['block']; ?>">
        <?php echo $row['block']; ?></option>
                        <?php
                      
        }
                      
        ?>
                      </select>
                        <br>
                        </font></td>
                        <td><font color="#999999">Volk:<br>
                        <select name="volk" size="1" id="volk">
                        <?php
                    
        //Mysql select    
                    
        $sql "SELECT DISTINCT * FROM karten GROUP BY volk";
                       
        $result mysql_query($sql) OR die(mysql_error());
                       while(
        $row mysql_fetch_assoc($result)) 
                    {
                    
        ?>
                        <option value="<?php echo $row['volk']; ?>">
        <?php echo $row['volk']; ?></option>
                        <?php
                      
        }
                      
        ?>
                      </select>
                        </font></td>
                      </tr>
                      <tr>
                        <td><font color="#999999">Set:<br>
                        <select name="satz" size="1" id="satz">
                        <?php
                    
        //Mysql select    
                    
        $sql "SELECT DISTINCT * FROM karten GROUP BY satz";
                       
        $result mysql_query($sql) OR die(mysql_error());
                       while(
        $row mysql_fetch_assoc($result)) 
                    {
                    
        ?>
                        <option value="<?php echo $row['satz']; ?>">
        <?php echo $row['satz']; ?></option>
                        <?php
                      
        }
                      
        ?>
                      </select>
                        </font></td>
                        <td><font color="#999999">Wert:<br>
                          <select name="select" size="1">
                            <option value="C">C</option>
                            <option value="W">W</option>
                            <option value="P">P</option>
                            <option value="D">D</option>
                            <option value="R">R</option>
                            <option value="R+">R+</option>
                            <option value="O">O</option>
                            <option value="S">S</option>
                            <option value="U">U</option>
                          </select>
                        </font></td>
                      </tr>
                      <tr>
                        <td colspan="2"><div align="center">
                          <input name="submiterw" type="submit" id="submiterw"
         value="Suche">
                        </div></td>
                      </tr>
                    </table>
                      </form>
        Zuletzt geändert von Biffi; 14.06.2005, 11:46.

        Kommentar


        • #5
          Original geschrieben von Biffi
          ich hab oben editiert
          aber nicht das was mrhappiness
          wollte
          Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

          Kommentar


          • #6
            Re: where abfrage mit AND?

            Original geschrieben von Biffi
            PHP-Code:
            <?php 
            include ("config.php");
            $page=$_GET['page'];
            if(!isset(
            $page))
            $name=$_POST['name'];
            $kartentyp=$_POST['kartentyp'];
            $block=$_POST['block'];
            $volk=$_POST['volk'];
            $satz=$_POST['satz'];
            $wert=$_POST['wert'];
            if(isset(
            $page))
            $name=$_GET['name'];
            $kartentyp=$_GET['kartentyp'];
            $block=$_GET['block'];
            $volk=$_GET['volk'];
            $satz=$_GET['satz'];
            $wert=$_GET['wert'];
            liegt das hier dran? kann man nur eine $_POST empfangen?

            Biffi
            Nein

            Du mischt hier munter $_GET und $_POST, sicher, dass du dich nie verschrieben hast?

            $_POST kommt aus einem Formular, hast du da die anderen Felder auch drin?
            Genau so geschrieben wie du sie oben verwendest?
            Wo kommen die $_GET-Werte her? Wie sieht der Link aus, auf den du klickst?

            Mach in den if- und den else-Teil je eineKontrollausgabe rein, damit du weißt, woher er die Daten zieht?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Mein Gott ne,
              sonst geht es aber noch !!!

              Es ging doch um den Query oder nicht ???
              Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

              Kommentar


              • #8
                mom eins nach den anderen lol

                also aus der echo query kommt das

                SELECT id, name, nr, block, satz, kartentyp, volk FROM karten WHERE name LIKE '%fro%' AND kartentyp = '' AND block = '' AND volk = '' AND satz = '' AND nr LIKE '%%' ORDER BY `id` DESC

                (hat er mir so ausgegeben)

                verschrieben habe ich mich nicht das kontrolliere ich immer als erstes

                die get werte nehme ich wenn page = irgenwas ist sonst funktioniert das script nicht.

                Biffi

                Kommentar


                • #9
                  ja aber wie ich ja oben erwähnt habe liegt es ja ander Übertragung denn ich habe vor der mySql Abfrage alle Vars per echo ausgeben lassen und nur der erste wert ist ausgegeben worden der rest existiert nicht also liegt es nicht an der Abfrage

                  Biffi

                  Kommentar


                  • #10
                    Original geschrieben von Biffi
                    mom eins nach den anderen lol

                    also aus der echo query kommt das

                    SELECT id, name, nr, block, satz, kartentyp, volk FROM karten WHERE name LIKE '%fro%' AND kartentyp = '' AND block = '' AND volk = '' AND satz = '' AND nr LIKE '%%' ORDER BY `id` DESC



                    Biffi
                    ist doch dann klar das keine Ausgabe kommt oder ....

                    Where Bedingungen nicht erfüllt
                    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                    Kommentar


                    • #11
                      ganz genau aber wieso werden die nicht erfüllt?

                      Nur der erste var kommt an und das ist was ich nicht verstehe

                      Biffi

                      Kommentar


                      • #12
                        1. Formular ausfüllen

                        2. Formular abschicken

                        3.
                        PHP-Code:
                        echo 'Inhalt von $_GET:<pre>';
                        print_r($_GET);
                        echo 
                        '</pre>Inhalt von $_POST<pre>';
                        print_r($_POST);
                        echo 
                        '</pre>'
                        4. Ausgabe davon posten
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          überprüf mal die Stelle wo du die parameter empfängst!
                          mach mal eine geschweifte klammer um die if-anweisung.
                          so wie du es jetzt hast, wird nur der 1. parameter richtig
                          empfangen. der rest wird wieder überschrieben!

                          Kommentar


                          • #14
                            ganz einfach, weil Du deine Post werte mit den Get Werten überschreibst
                            und diese warscheinlich leer sind ..
                            Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

                            Kommentar


                            • #15
                              @zyrano
                              Ich hasse Leute, die fremden Quellcode so sorgfältig lesen wie du
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X