Ankündigung

Einklappen
Keine Ankündigung bisher.

Abfrage auf 2 Ebenen?

Einklappen

Neue Werbung 2019

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

  • Abfrage auf 2 Ebenen?

    Hallo!

    Also, ich habe jetzt folgende Datenbank: 1. ID 2. User 3. Zahl

    Als Angabe habe ich zum Start: $zahl = 3 zum Beispiel

    Jetzt wollte ich erstmal alle Einträge in der Datenbank anzeigen, wo Zahl = $zahl. Außerdem soll er sich alle ID-Werte dieser angezeigten Einträge merken, also beispielsweie in der Variable $zahl2 speichern.

    Danach wollte ich jetzt wieder alle Einträge anzeigen, die Zahl = $zahl2 haben, also irgendeine Zahl, die in $zahl2 drin ist.

    Gibt es dafür eine Möglichkeit?

  • #2
    Ja, aber das ist grundlegenstes SQL, das sollteste selber lernen.

    Kommentar


    • #3
      Zitat von Zergling
      Ja, aber das ist grundlegenstes SQL, das sollteste selber lernen.
      Ja, die Grundabfragen kann ich ja, aber mein Problem ist die Variable $zahl2, also ich muss da ja mehrere Werte drin speichern und wie ich dann die Einschränkung der 2. Abfrage machen muss. Also "where Zahl = ?" . Das sind meine Probleme.

      Kommentar


      • #4
        Ich sehe den Sinn des Ganzen zwar nicht, aber wenn die die ID's speichern willst, schreib sie halt in einen Array.
        Ich denke aber eher, dass es sich um ein Design-Problem handelt, da die ID eigentlich von jedem weiteren Sinn freigehalten werden sollte.
        Gruss
        L

        Kommentar


        • #5
          Zitat von lazydog
          Ich sehe den Sinn des Ganzen zwar nicht, aber wenn die die ID's speichern willst, schreib sie halt in einen Array.
          Ich denke aber eher, dass es sich um ein Design-Problem handelt, da die ID eigentlich von jedem weiteren Sinn freigehalten werden sollte.
          Kannst du mal für den Fall ein Beispiel geben?

          PS.: Mit Design hat das nichts zu tun, es geht schon um Datenbankeinträge.

          Kommentar


          • #6
            Re: Abfrage auf 2 Ebenen?

            Zitat von BartTheDevil89
            [1] Also, ich habe jetzt folgende Datenbank: 1. ID 2. User 3. Zahl

            [2] Jetzt wollte ich erstmal alle Einträge in der Datenbank anzeigen, wo Zahl = $zahl. Außerdem soll er sich alle ID-Werte dieser angezeigten Einträge merken, also beispielsweie in der Variable $zahl2 speichern.
            1. Du hast eine Datenbank-Tabelle

            2. SELECT ID FROM tabelle WHERE zahl = '$zahl'

            dieses Query fragst du mit mysql_query und in einer while-Schleife per mysql_fetch_assoc ab und du bekommst pro while()-Schleifen-Durchlauf einen Treffer deiner Datenbankabfrage, mit dem du wiederum arbeiten kannst (z.B. in einen Array schreiben).

            Das müßtest du jetzt aber wissen wie das geht (wenn nicht, such doch einfach mal im Internet nach den genannten Funktionen, du findest bestimmt Beispiele). Ein bißchen Eigeninitiative musst du einfach haben

            Kommentar


            • #7
              Naja, also ich bin jetzt soweit gekommen:

              PHP-Code:
                           $db->query("select id,user,zahl from tabelle where Zahl = '$zahl'");
                           while(list(
              $id,$user,$zahl) = $db->data())
                          {
                          echo(
              "$id $user $zahl 
              "
              );
                          
              $zahl Was muss da hin?
                          }
                          
              $db->query("select id,user,zahl from tabelle where ????");
                           while(list(
              $id,$user,$zahl) = $db->data())
                          {
                          echo(
              "$id $user $zahl 
              "
              );
                          } 
              Probleme sind hat $zahl2 =? und dann in der 2. Abfrage das where ????.

              Kann nochma kurz jemand schauen?

              Kommentar


              • #8
                Die Grundfunktionen von PHP sollte man eigentlich schon kennen. Versuchs mal so (und versuch es vor allem zu verstehen):
                PHP-Code:
                <?php
                $zahl2 
                = array();                           // Array definieren
                $sql "SELECT id, user, zahl 
                           FROM tabelle 
                           WHERE zahl = 
                $zahl";
                $db->query($sql);
                while(list(
                $id$user$zahl) = $db->data())
                {
                    echo 
                "$id $user $zahl 
                "
                ;
                    
                $zahl2[] = $id;                         // Array füllen
                }
                $auswahl implode(', '$zahl2);   // Array in kommagetrennten String umwandeln
                $sql "SELECT id, user, zahl 
                           FROM tabelle 
                           WHERE zahl IN (
                $auswahl)";  // Alle relevanten Daten abfragen
                $db->query($sql);
                while(list(
                $id$user$zahl) = $db->data())
                {
                    echo 
                "$id $user $zahl 
                "
                ;
                }
                ?>
                Gruss
                L

                Kommentar

                Lädt...
                X