Prob mit schleife

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

  • Prob mit schleife

    So mal wieder. Ich habe Kategorien und Artikeln die zu den Kategorien passen. Jetzt will ich zuerst Kategorie 1 und dann alle dazugehörigen Artikel ausgeben, dann das selbe mit kat2 etc

    mein code:

    PHP-Code:
    $sql mysql_query("SELECT a.ArtID, a.ArtName, a.text, a.autor, k.name 
                                       FROM Artikel a
                       LEFT JOIN Kategorie k
                       ON a.KatID = k.KatID"
    ) OR die(mysql_error());
    while (
    $row mysql_fetch_array($sql)){
       echo 
    "<dt>" $row['name'] . "</dt>";
       while (
    $row mysql_fetch_array($sql)){
          echo 
    "<dd><a href=\"?go=editor/show&id=".$row['ArtID']."\">" $row['ArtName'] ."
    </a> geschrieben von: " 
    $row['autor'] . "</dd>";
       }

    ach ja, das problem, es wird blos die erste kategorie ausgegeben und alle artikel, aber nicht die einzelnen kategorien mit deren artikel
    Zuletzt geändert von Sucker; 27.12.2005, 17:13.
    anotherstyle.de :: gedanken, texte, tutorials - Warum auch nicht?

  • #2
    1. ist deine verschachtelung der while-schleifen sinnlos. mit 2 schleifen geht das auslesen der selektierten datensätze auch nicht schneller :P
    2. wirst du pro kategorie sicherlich mehrere artikel haben
    3. wie sind deine unterkategorien mit den hauptkategorien verknüpft?
    4. möchtest du evtl. alle kategorien + deren unterkategorien auslesen und nur die anzahl der darin enthaltenen artikel ermitteln?

    Kommentar


    • #3
      den Querbalken

      Kommentar


      • #4
        Original geschrieben von reallife
        1. ist deine verschachtelung der while-schleifen sinnlos. mit 2 schleifen geht das auslesen der selektierten datensätze auch nicht schneller :P <-- stimmt
        2. wirst du pro kategorie sicherlich mehrere artikel haben <-- stimmt
        3. wie sind deine unterkategorien mit den hauptkategorien verknüpft? <-- habe bis jetzt keine unterkategorien, deshalb keine verknüpfung
        4. möchtest du evtl. alle kategorien + deren unterkategorien auslesen und nur die anzahl der darin enthaltenen artikel ermitteln? <-- bis jetzt nicht

        wie wäre der code denn dann richtig

        btw, welcher querbalken :P
        anotherstyle.de :: gedanken, texte, tutorials - Warum auch nicht?

        Kommentar


        • #5
          Hmm, versuchs mal damit:
          PHP-Code:
          $sql mysql_query("SELECT a.ArtID, a.ArtName, a.text, a.autor, k.name 
                                             FROM Artikel a
                             LEFT JOIN Kategorie k
                             ON a.KatID = k.KatID GROUP BY a.ArtID, k.KatID"
          ) OR die(mysql_error());
          while (
          $row mysql_fetch_array($sql)){
             echo 
          "<dt>" $row['name'] . "</dt>";
             echo 
          "<dd><a href=\"?go=editor/show&id=".$row['ArtID']."\">" $row['ArtName'] ."
          </a> geschrieben von: " 
          $row['autor'] . "</dd>";

          Wenn deine MySQL-Version es erlaubt, würde es sich lohnen mal mit Subqueries auseinander zu setzen.
          http://dev.mysql.com/doc/refman/5.0/en/subqueries.html

          Kommentar


          • #6
            wow geil!! vielen dank

            jetzt muss ich mir nurnoch anschaun was bei mir falsch war
            anotherstyle.de :: gedanken, texte, tutorials - Warum auch nicht?

            Kommentar

            Lädt...
            X