Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit foreach

Einklappen

Neue Werbung 2019

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

  • Problem mit foreach

    Hi. Ich habe ein Problem mit foreach. Das Problem ist: Alles wird doppelt angezeigt. In der Datenbank ist aber nur 1 Zeile. Ich poste wie immer den Quelltext.
    PHP-Code:
    <?php
    include("mysql_connect.php");
    $query2 mysql_query("SELECT cid FROM pf_forum");
    while (
    $row mysql_fetch_array($query2))
    foreach(
    $row as $out);
    $query1 mysql_query("SELECT name FROM pf_forum");
    while (
    $row1 mysql_fetch_array($query1))
    foreach(
    $row1 as $out1)
    {
    echo 
    "<div align=\"center\">
        <table border=\"0\" width=\"80%\" style=\"border-collapse: collapse\" height=\"50\">
            <tr>
                <td style=\"background-image: url('images/norm-ordner.png'); background-repeat: no-repeat; background-attachment: scroll; background-position: center\" width=\"39\"><a href=\"index.php?forum=
    $out\"><img border=\"0px\" src=\"images/null.png\" height=\"50px\" width=\"100%\"></a></td>
                <td>"
    ;
                
    echo 
    "<a href=\"index.php?forum=$out\">$out1</a>";
    echo 
    "</td>
            </tr>
        </table>
    </div><br>"
    ;

    };
    ?>
    Das Bild vom Fehler

  • #2
    Hi!
    kleine Frage:

    Wieso machst du eigentlich 2 querys?
    Das kannste ja alles in eine Zusammenfassen (siehe Code)

    Und foreach brauchste dann eigentlich auch nicht!
    PHP-Code:
    <?php 
    include("mysql_connect.php"); 
    $query2 mysql_query("SELECT cid, name FROM pf_forum"); 
    while (
    $row1 mysql_fetch_array($query1)) { 
    echo 
    "<div align=\"center\"> 
        <table border=\"0\" width=\"80%\" style=\"border-collapse: collapse\" height=\"50\"> 
            <tr> 
                <td style=\"background-image: url('images/norm-ordner.png'); background-repeat: no-repeat; background-attachment: scroll; background-position: center\" width=\"39\"><a href=\"index.php?forum=
    $out\"><img border=\"0px\" src=\"http://www.php.de/images/null.png\" height=\"50px\" width=\"100%\"></a></td> 
                <td>"

     
    echo 
    "<a href=\"index.php?forum=$row1['cid']\">$row['name']</a>"
    echo 
    "</td> 
            </tr> 
        </table> 
    </div><br>"

     

    ?>
    Und nur so als kleiner Tip: mach evt. bei der while schleife die "{" und am ende wieder "}". Dann behältste ne bessere Übersicht was alles in der Schleife ausgeführt wird!

    Kommentar


    • #3
      Wenn man mysql_fetch_array keine andere Anweisung gibt, liefert es die Daten sowohl als 'feldname'=>'wert' als auch 1=>'wert'

      Du solltest Dich
      zwischen mysql_fetch_array($query1, MYSQL_ASSOC) oder
      mysql_fetch_array($query1, MYSQL_NUM)
      entscheiden

      Kommentar

      Lädt...
      X