Datenbankabfrage aus 2 Tabellen - eine davon als Array speichern und ausgeben

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankabfrage aus 2 Tabellen - eine davon als Array speichern und ausgeben

    Hallo,

    ich habe 2 Tabellen (tabell_article.gif und tabelle_pictures) und lese aus der Tabelle article die einzelnen artikel heraus und lasse diese ausgeben.

    Das funktioniert soweit auch (s. Anhang Bild: seite.gif) Da zu jedem Artikel Bilder gehören, möchte ich die dazugehörigen Bilder unter dem jeweiligen Artikel ausgeben (den Dateinamen). Die Tabelle pictures wird ausgelesen und die Ergebnisse als Array gespeichert.

    PHP Code:
    for($i=0$i<mysql_num_rows($ResultPointer); $i++) {
                  
    $pic_array=mysql_fetch_row($ResultPointer); 
    Jetzt weiß ich nur nicht weiter wie ich die einzelnen Daten des Arrays in der MySQL Ausgabeschleife der Artikel einbingen soll. Im folgenden Code wird die Tabelle article ausgelesen und ausgegeben.

    PHP Code:
    for($i=0$i<mysql_num_rows($ResultPointer); $i++) {
                  
    $res=mysql_fetch_object($ResultPointer);
                
                    echo 
    '<h2>'.$res->id_article.' '.$res->h2.'</h2>
                        <div class="text">'
    .$res->text.'</div>
                        
                        <!-- Hier müssen die einzelnen Bilder zum Artikel rein -->'

    Weiß jemand eine Lösung oder kann mir hier weiterhelfen?
    Attached Files

  • #2
    Was du suchst ist ein JOIN:
    SELECT * FROM article a LEFT JOIN pictures p USING id_article;

    Danach kannst du mit einem
    PHP Code:
    $prev null;
    while (
    $row mysql_fetch_assoc($result)) {
      if (
    $row['article_id'] != $prev) {
        
    $prev $row['article_id'];
        echo 
    $row['article'];
      }
      if (
    $row['dateiname'] != "") {
        echo 
    '<a href="...' htmlspecialchars($row['uppic']) . '...">' htmlspecialchars($row['destination']) . '</a>';
      }

    alles ausgeben.

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Comment


    • #3
      Verdammt.... das passt sehr gut. Danke für die Superschnelle Reaktion. Der Trick des Ganzen scheint darin zu liegen, sobald sich die id_article ändert wird $prev mit der id_article überschrieben und ist somit nicht mehr null ... d.h. wenn $prev = der id_article ist werden nur die Daten der Bilder eingefügt... darauf wäre ich so schnell nicht gekommen.... Vielen Dank nochmal.

      Comment

      Working...
      X