Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mehr als eine SQL Abfrage hintereinander.

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mehr als eine SQL Abfrage hintereinander.

    Ich habe eine Frage und zwar ist es möglich 2 Abfragen hintereinader zu machen?
    Der Hintergrund ist der, das meine erste Abfrage mir alle Werte in eine Tabelle ausgibt. Meine zweite Abfrage soll mir dann zusätzlich in der vorher erstellten Tabelle anzeigen ob ein Titel verfügbar ist oder nicht.
    Also meine erste Abfrage lautet wie folgt:
    PHP-Code:
        $auswertung "SELECT * FROM titel WHERE";
        
    $auswertung.= $abfrage;
        
    $ergebnis mysql_query($auswertung);
        while(
    $row mysql_fetch_object($ergebnis)){
        echo 
    '<tr>'."\r\n";
        echo 
    '<td><a href = "weiterleiten.php?id='.$row->ID.'" target ="blank"/>'.$row->Titel.'</a></td>'."\r\n";
        echo 
    '<td>'.$row->Komponist.'</td>'."\r\n";
        echo 
    '<td>'.$row->Herausgeber.'</td>'."\r\n";
        echo 
    '<td>'.$row->Verlag.'</td>'."\r\n";
        echo 
    '<td>'.$row->Ausgeliehen.'</td>'."\r\n";
        echo 
    '</tr>'
    Und meine zweite SQL-Abfrage ist folgende:
    Code:
    SELECT Titel, IF(ISNULL(rueckgabedatum),'Titel ist ausgeliehen', 'Titel ist verfügbar') AS Ausgeliehen FROM ausgeliehen,titel WHERE ausgeliehen.Titelnr =  titel.ID
    Ist es möglich diese Abfrage in die obrige zu Integrieren?

  • #2
    Klar, mach doch einfach deine zwei Abfragen. Was du damit erreichen willst ist ohne Datenbankstruktur oder eine klare Beschreibung eh nicht ersichtlich.
    [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

    Kommentar


    • #3
      Zitat von chorn Beitrag anzeigen
      Klar, mach doch einfach deine zwei Abfragen. Was du damit erreichen willst ist ohne Datenbankstruktur oder eine klare Beschreibung eh nicht ersichtlich.
      Ok also einfach nochmal
      PHP-Code:
      $auswertung "meine zweite SQL Abfrage" 
      oder müsste ich es dann
      PHP-Code:
      $auswertung2 
      nennen?

      Ich will damit erreichen, dass man im Ergebnis/der Auswertung sehen kann ob ein Titel verfügbar ist oder nicht.

      Kommentar


      • #4
        Wenn du die Variable überschreiben willst, mach das halt. Kommt einfach drauf an in welcher Reihenfolge du die benutzen willst. Kannst dir ja mal selber überlegen wo der Unterschied zwischen

        Code:
        $query = "...";
        mysql_query( $query );
        $query = "...";
        mysql_query( $query );
        und

        Code:
        $query = "...";
        $query = "...";
        mysql_query( $query );
        mysql_query( $query );
        ist
        [I]You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.[/I]

        Kommentar


        • #5
          Ich würde es eher über einen JOIN versuchen und alles in einer Abfrage abfeuern. Des weiteren ist "*" nicht gut, würde die ganzen Spalten einzeln angeben.
          Sowas in der Art...
          Code:
          SELECT t.*, IF(ISNULL(a.rueckgabedatum),'Titel ist ausgeliehen', 'Titel ist verfügbar') AS ausgeliehen 
          FROM `titel` t
          LEFT JOIN `ausgeliehen` a ON a.Titelnr=t.ID
          WHERE [[$whereCondition]]
          "My software never has bugs, it just develops random features."
          "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

          Kommentar


          • #6
            Bei den mysql_*-Funktionen muss man auf nichts Besonderes achten. Kann man ganz normal einen Befehl nach dem anderen absetzen. Bei mysqli schaut das dann aber schon wieder etwas anders aus. Da muss man dann etwas aufpassen. (Leider wieder eine dieser Besonderheiten von mysqli.)

            Kommentar

            Lädt...
            X