News abrufen
-
Hallo zusammen,
Ich befasse mich momentan mit PHP in Verbindung mit einer MySQL Datenbank. Als Einstiegsprojekt habe ich mir vorgenommen ein Newssystem zu Programmieren. Vieles funktionert auch schon prima, sprich erstellen, bearbeiten, einzelne anzeigen, löschen kriege ich auch noch hin.
Jetzt möchte ich aber auf der Administrationsseite eine Übersicht mit den angelegten News angezeigen lassen. Bisher habe ich einzele Einträge immer so geholt:
$requete = "SELECT * FROM news WHERE ID=" .$id; $result = mysql_query ($requete,$db); $article =mysql_fetch_object($result) or error_warning("Der Eintrag wurde nicht gefunden! <br>Bei der übergabe der Abfrage-Parameter ist ein Fehler aufgetreten."); mysql_free_result($result);
angezeigt habe ich das ganze dann mit
<?php echo $article->title; ?>
Wie mache ich das bei mehrern Einträgen?
Ich habe an sowas gedacht:
$requete = "SELECT ID,title,writer,date FROM news"; $result = mysql_query ($requete,$db); $article =mysql_fetch_object($result) or error_warning("Einträge können nicht abgerufen werden! <br>Bei der übergabe der Abfrage-Parameter ist ein Fehler aufgetreten."); mysql_free_result($result);
Aber wie kann ich es jetzt anzeigen lassen? Mit mysql_fetch_array habe ich es auch schon probiert, dann gibt es einfach $article[0] bis $article[3].
Wie kann zusätzlich noch andere Zeilen anzeigen lassen?Vielen dank schonmal
Gruss steport
-
Am besten nimmst du mysql_fetch_assoc und rufst das dann in einer while Schleife auf. Das könnte dann irgendwie so aussehen:
$requete = "SELECT ID,title,writer,date FROM news"; $result = mysql_query($requete,$db); while($article = mysql_fetch_assoc($result)) { echo $article['title'].' von '.$article['writer'].'<br />'; }
-
Nee, du kannst mysql_fetch_array() trotzdem benutzen, ist quasi fast genau das selbe wie mysql_fetch_assoc().
Also bei mysql_fetch_array() verhält sich das ganze wie nen 2 dimensionales Array(oder so ähnlich). Das ging also auch:
$requete = "SELECT ID,title,writer,date FROM news"; $result = mysql_query($requete,$db); while($article = mysql_fetch_array($result)) { echo $article['title'].' von '.$article['writer'].'<br />'; }
-
mysql_fetch_array ist aber nicht so effizient wie mysql_fetch_assoc, und wenn er eh nur die eine oder die andere Art will, dann kann er ja auch gleich letzteres nehmen - oder eben bei mysql_fetch_array noch MYSQL_ASSOC als zweiten Parameter angeben
-
Ja ich wollte bloss seine These mit dem mysql_fetch_array(), wiederlegen^^...
Wie er es nun macht, is ja ihm überlassen...
-
Vielen Dank für die schnelle Hilfe, ich habe jetzt die Variante mit dem msql_fetch_assoc genommen. Funktioniert Prima