sucheverfeinerung Datenbankabfrage

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

  • sucheverfeinerung Datenbankabfrage

    Ich komm hier nicht weiter. Die obere Abfrage wird ignoriert.
    Vielleicht nur ein kleiner Denkfehler

    PHP-Code:
    if ($rubrik == "alle") {
    $abfrage="SELECT DISTINCT hub_id,hub_datum,hub_name
    FROM frech ORDER BY hub_id DESC"
    ;
    }
    else
    {
    $abfrage="SELECT DISTINCT hub_id,hub_datum,hub_name
     FROM frech WHERE hub_datum='
    $datum' ORDER BY hub_id DESC";
    }

    if (
    $interesse == "alle") {
    $abfrage="SELECT DISTINCT hub_id,hub_datum,hub_name
     FROM frech ORDER BY hub_id DESC"
    ;
    }
    else
    {
    $abfrage="SELECT DISTINCT hub_id,hub_datum,hub_name
     FROM frech WHERE hub_name='
    $Name' ORDER BY hub_id DESC";
    }
    $ergebnis=mysql_query($abfrage); 

  • #2
    vielleicht weil beide $abfrage heißen. Der untere überschreibt den oberen.

    mach mal ein
    PHP-Code:
    echo "Abfrage:$abfrage<br>Rubrik:$rubrik<br>Interesse:$interesse<br>"
    vor dein mysql_query und poste das Ergebnis.

    Offe

    Kommentar


    • #3
      kannst du das mal da hinsetzen wo du meinst?

      Kommentar


      • #4
        Ich poste noch mal die Anfrage vielleicht sitzt der Fehler auch dort:

        PHP-Code:
        <p align="right"><font size="1" face="Verdana,Tahoma" color="#9E181D">nach Rubrik
                        suchen
        &nbsp;</font></td>
        <
        td width="162" height="35" valign="top">
        <
        form name="Suchformular" method="post" action="../script/db.php" ><p align="right"><font face="Verdana" size="1" color="blue"><select name="rubrik" style="font-size:10px; color:#9E181D; background-color:#f2f2f2; border-style:groove;" size="1">
        <
        option value="alle">alles anzeigen</option>
        <
        option value="datum">datum</option>
        <
        option value="Name">Name</option>

        </
        select></font>
        </
        td><br>

        <
        tr>
        <
        td width="244" height="35" valign="top">
        <
        p align="right"><font size="1" face="Verdana,Tahoma" color="#9E181D">verfeinern&nbsp;</font></td>
        <
        td width="162" height="35" valign="top">
        <
        form name="Suchformular" method="post" action="../daten/suchen.php" ><p align="right"><font face="Verdana" size="1" color="blue"><select name="interesse" style="font-size:12px; color:#9E181D; background-color:#f2f2f2; border-style:groove;" size="1">
        <
        option value="alle">alles anzeigen</option>
        <
        option value="datum">datum</option>
        <
        option value="Name">Name</option>

        </
        select></font>



        <
        td width="149" height="35" valign="bottom">
        <
        p align="left">&nbsp;<font size="1" face="Verdana,Tahoma" color="black"><input type=submit name="kunden" value="anzeigen" id="kunden" style="font-size:10px; color:black; background-color:#ffffff; border-style:groove;"></font>
        </
        form

        Kommentar


        • #5
          PHP-Code:
          echo "Abfrage:$abfrage<br>Rubrik:$rubrik<br>Interesse:$interesse<br>";
          $ergebnis=mysql_query($abfrage); 
          brauchst du aber nur falls meine Vermutung mit dem Überschreiben falsch war.

          Offe

          Kommentar


          • #6
            Das geht nicht hatte ich schon probiert.

            Kommentar


            • #7
              Vertausche mal die beiden if {} else {}. Wird dann die andere ignoriert?

              Offe

              Kommentar


              • #8
                wie meinst du das genau?

                Kommentar


                • #9
                  Das geht nicht hatte ich schon probiert.
                  was geht daran nicht.


                  vielleicht weil beide $abfrage heißen. Der untere überschreibt den oberen.
                  könnte es daran liegen?

                  Offe

                  Kommentar


                  • #10
                    Ja das kann sein. Wenn ich den unteren in abfrage1 umbenenne dann geht der obere wieder.

                    Kommentar


                    • #11
                      Es muss doch möglich sein so eine Abfrage zu kombinieren. Ich hoffe es geht irgendwie mit dieser Abfragemöglichkeit.

                      Kommentar


                      • #12
                        Re: sucheverfeinerung Datenbankabfrage

                        natürlich kannst du die beiden bedingungen

                        WHERE hub_datum='$datum'
                        und
                        WHERE hub_name='$Name'

                        in einer query kombinieren!

                        AND heisst das zauberwort ...
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Ich habe es schon mit AND probiert, da kommt dann aber der parse error.
                          vielleicht war die Stelle falsch. Wo genau muss das denn hin?

                          Kommentar


                          • #14
                            folgendes sollte funktionieren:
                            PHP-Code:
                            "SELECT DISTINCT hub_id,hub_datum,hub_name
                            FROM frech
                            WHERE hub_datum='
                            $datum' AND hub_name='$Name'
                            ORDER BY hub_id DESC" 
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Jau klappt soweit Danke.

                              Das einzige was jetzt noch nicht geht ist die Abfrage:

                              Alles anzeigen

                              wenn einer der Suchegriffe alles anzeigen enthält dann die andere Einschränkung ignoriert.

                              Kommentar

                              Lädt...
                              X