PHP Liste aus DB lesen & anzeigen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      PHP Liste aus DB lesen & anzeigen

      Nabend,

      ich hab ein Problem.

      Ich möchte Daten aus einer DB auslesen und auf einer Homepage als lange Liste darstellen. Klappt aber nicht.

      Die Tabelle "members" sieht so aus:

      id | username | password
      1 | user1 | 1234
      2 | user2 | 1234
      3 | user3 | 1234

      Ich will, dass er auf der Webseite beim aufrufen eine Liste erstellt, die dann so aussieht:

      1. user1
      2. user2
      3. user3

      (zuerst mal nur für die ersten 10 Einträge)

      PHP-Quellcode

      1. <?php
      2. for $i = 1; $i <= 10; $i++)
      3. {
      4. $liste = mysql_query("SELECT username FROM members WHERE id=$i");
      5. echo($i . $liste . "<br>");
      6. }
      7. ?>


      Die Variable in der Query mag er nicht, wie umgehe ich das?

      Wäre nett, wenn mir jemand das korrigieren könnte. PHP ist nicht so meine Welt, ich arbeite noch dran. -.-

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von schadowhunter ()

      Ja, das Semikolon ist natürlich da.

      ich habe jetzt

      PHP-Quellcode

      1. <?php
      2. for $i = 1; $i <= 10; $i++)
      3. {
      4. $liste = mysql_query("SELECT username FROM members WHERE id=".$i);
      5. echo($i . $liste . "<br>");
      6. }
      7. ?>


      und kriege:

      Parse error: syntax error, unexpected '$i' (T_VARIABLE), expecting '(' in C:\xampp\htdocs\test\member.php on line 5


      Irgendwas stimmt da nicht. -.-

      Ich glaube da fehlt noch das mysql_fetch_array($query).

      PHP-Quellcode

      1. <?php
      2. for $i = 1; $i <= 10; $i++)
      3. {
      4. $liste = mysql_query("SELECT username FROM members WHERE id=".$i);
      5. $erg = mysql_fetch_array($liste)
      6. echo($i . $erg['username'] . "<br>");
      7. }
      8. ?>

      EDIT

      Problem gelöst.

      Er wollte nochmal die DB Verbindung haben, nu funktioniert alles...

      PHP-Quellcode

      1. <?php
      2. $host="localhost";
      3. $username="XXX";
      4. $password="XXX";
      5. $db_name="database";
      6. mysql_connect("$host", "$username", "$password")or die("cannot connect");
      7. mysql_select_db("$db_name")or die("cannot select DB");
      8. for ($i = 1; $i <= 10; $i++)
      9. {
      10. $liste_query = "SELECT username FROM members WHERE id='$i'";
      11. $liste = mysql_query($liste_query) or die(mysql_error());
      12. $erg = mysql_fetch_array($liste);
      13. echo($i . " " . $erg['username'] . "<br>");
      14. }
      15. ?>
      Alles anzeigen


      Frage nun aber: Müsste er die DB Connection nicht mit der aktiven Session übernommen haben? Wieso braucht er die nochmal?

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von schadowhunter ()

      Also erstmal. Mach das ganze am besten objektorientiert und benutz mysqli. Hat mehrere Vorteile.

      Naja hier mal ein Code der gehen müsste, wenn ich mir die richtige Funktion gesucht habe auf php.net

      PHP-Quellcode

      1. <?php
      2. for ($i = 1; $i <= 10; $i++)
      3. {
      4. $liste = mysql_query("SELECT username FROM members WHERE id=".$i);
      5. $erg = mysql_fetch_object ($liste);
      6. echo($i.$erg->username."<br>");
      7. }
      8. ?>


      Achja und lass am besten das Where im Query weg und mach das mit der fetch_assoc Funktion.


      Termi