MySQL Abfrage Problem

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

  • MySQL Abfrage Problem

    Hallo Forummitglieder,

    Ich habe eine Datenbank in der Ich eine m:n Zischentabllen mit jeweils 2 ID's abfragen möchte.
    Das ganze sieht so aus:
    Code:
    Code:
    Kurs_ID     Fristen_ID 
       8             3 
       8             2 
       8             1 
       8             4 
       4 ...
    Ich würde gerne anhand der Kurs_ID die einzelnen Fristen_ID in einer Schleife abarbeiten.
    Weiß einer von euch wie ich das machen kann? Meine Lösung hat nicht so gut funktioniert.

    PHP-Code:
    <? 
    $abfrage = "SELECT * FROM Kurse_has_Fristen WHERE Kurse_Kurse_ID='".$Kurs_ID."'"; 
    $ergebnis = mysql_query($abfrage); 
    while($row = mysql_fetch_array($ergebnis)) 

    $Fristen_ID=$row['Fristen_Fristen_ID']; 
    $x=1; 
    $abf = "SELECT * FROM Fristen WHERE Fristen_ID='".$Fristen_ID."' AND NOT Fristen_ID='".$Jahre0länge_ID."'"; 
    $erg = mysql_query($abf); 
    while($row1 = mysql_fetch_array($erg)) 

    if ($x==1)
    { $Alter_ID1=$row1['Alter_Alter_ID']; } 
    elseif ($x==2)
    { $Alter_ID2=$row1['Alter_Alter_ID']; } 
    elseif ($x==3)
    { $Alter_ID3=$row1['Alter_Alter_ID']; } 
    $x=$x+1; 


    ?>
    MfG RS_FISI
    Zuletzt geändert von RS_FISI; 28.04.2009, 11:30.

  • #2
    Benutze bitte PHP-Tags statt CODE.

    Dein Problem verstehe ich nicht ganz. Suchst du nach einem gruppenwechsel?

    Verschachtelte While-Schleifen SQLAbfragen solltest du vermeiden. Guck dir das Thema JOINs genauer an.

    Kommentar


    • #3
      Nein im Prinzip möchte ich das er quasi die datenbank abfragt und bei jeden Datensatz wo die Kurs_ID übereinstimmt sich die Fristen_ID holt und in eine Variable speichert.
      Zuletzt geändert von RS_FISI; 28.04.2009, 11:34.

      Kommentar


      • #4
        1.) keine Umlaute in variablen !
        PHP-Code:
        $Jahre0länge_ID 
        sowas macht man einfach nicht.

        2.) Joins.

        PHP-Code:
        SELECT FROM Kurse_has_Fristen KhF JOIN
        Fristen F ON F
        .Fristen_ID=KhF.Fristen_Fristen_ID
        WHERE
        KhF
        .Kurse_Kurse_ID=1
        AND
        KhF.Kurs_ID=
        so ungefähr ;D
        Bitte Beachten.
        Foren-Regeln
        Danke

        Kommentar


        • #5
          Ok kannste mir das vielleicht erklären?^^ weil irgendwie versteh ich das nicht. Das mit den Umlauten stimmt schon...hab ich nicht drauf geachtet.

          Kommentar


          • #6
            Ok habe es verstanden aber wie weiße den gefundenen Werten jeweils Variablen zu?

            Kommentar


            • #7
              Ok kannste mir das vielleicht erklären?^^
              Am Anfang des Forums steht was zu Joins und
              hier findest du auch noch was über Joins.

              Guck dir das einmal in Ruhe an und probiere es einfach selber aus.
              Gut geraten ist halb gewußt.

              Kommentar


              • #8
                while($row = mysql_fetch_assoc())
                $variable[] = $row[frist_id];


                Pseudocode, da Grundlagen.

                Kommentar


                • #9
                  Es gibt aber auch noch weitere Tabellen dies ist wie gesagt nur eine Zwischentabelle bei einer m:n Beziehung. Habe das ganze jetzt so:


                  PHP-Code:
                  <?
                         $x=1;
                          $abfrage = "SELECT Fristen.Fristenlänge_Fristenlänge_ID, Fristen.Alter_Alter_ID FROM Kurse_has_Fristen, Fristen WHERE Fristen.Fristen_ID like Kurse_has_Fristen.Fristen_Fristen_ID AND Kurse_has_Fristen.Kurse_Kurse_ID='".$Kurs_ID."' AND NOT Fristen.Alter_Alter_ID='1'";
                          $ergebnis = mysql_query($abfrage);
                          $row = mysql_fetch_array($ergebnis);
                          foreach ($row as $value)
                          {
                              if($x==1)
                              {
                                  $Alter1=$value;
                              }
                              if($x==2)
                              {
                                  $Alter2=$value;
                              }
                              if($x==3)
                              {
                                  $Alter3=$value;
                              }
                          $x++;
                          }
                  ?>
                  Aber irgendwie kapiere ich das mit der foreach nicht ganz. Gibt es da eine andere Möglichkeit?
                  Ich will nur die Werte aus 2 Spalten für jede Zeile in einzelne Variablen speichern.
                  Siehe Bild.
                  Angehängte Dateien
                  Zuletzt geändert von RS_FISI; 28.04.2009, 14:17.

                  Kommentar


                  • #10
                    Dann mach das doch! Wo ist dein Problem? Und brich mal bitte deinen Code um!

                    Kommentar

                    Lädt...
                    X