Hallo, ik ben aan een website bezig.
En ik ben er een Nieuws Systeem In aan het steken.
Ik wil daarom 1 object uit mijn Database laten laaden
Ik zal mij zelf even verduidelijken.
Op mijn homepage staat een blokje.
En daar komt het laatste nieuws in.
Nu wil ik het laatste wat in de database is gepost.
Op die pagina laten komen verschijnen.
Ik dacht dat het ongeveer een code zou zijn zoals (er zit nornaal mySQL Beveiling op maar heb er even afgehaald is wat duidelijker)

<?php
while($rows = mysql_fetch_assoc('SELECT * FROM `newspage` ORDER BY id DESC LIMIT 0, 0')){
echo ($rows['message']);
} mysql_close();
?>


Maar dit is het dus niet.
Want als ik dit doe krijg ik een lege pagina.
Met andere woorden NIETS!
Kan iemand mij hiermee helpen.
Alvast bedankt, Paco Oste.
Tsja, als je de limiet op 0 zet gaat er ook niks in beeld komen denk ik.
Heb je ook al verbonden met de db?
Hieronder de verbeterde code

[code]
<?php
$sql = mysql_query('SELECT * FROM newspage ORDER BY id DESC LIMIT 5'); //limit op 5
while($rows = mysql_fetch_assoc($sql)){
echo $rows['message'];
}
mysql_close();
?>
Als je maar 1 regel uit de database wilt halen heb je die while-lus niet nodig :)

Gewoon:
<?php
$stmt = mysql_query("SELECT * FROM newspage ORDER BY id DESC LIMIT 1");

if(!$stmt) {
echo mysql_error();
}
else {
$item = mysql_fetch_assoc($stmt);
echo $item['message'];
}
?>

PS: het is niet heel betrouwbaar om te sorteren op id om het nieuwste item te vinden. MySQL verzint die id's meestal zelf, en hoeft daarbij niet te garanderen dat ze ook daadwerkelijk oplopend zijn. Je kan beter ook de datum van publicatie opslaan, in bijv. een DATETIME kolom, en daarop sorteren. Leuke is dat je dan meteen de mogelijkheid hebt gemaakt om nieuws van tevoren te kunnen schrijven en een dag later te publiceren, en de volgorde makkelijk kan aanpassen:
SELECT * FROM newspage WHERE pubdate <= NOW() ORDER BY pubdate DESC LIMIT 1
Jurrian, moet die pubdate een date of een time zijn?
DATETIME, beiden tegelijk dus, want bij alleen DATE kan je niet de volgorde vasthouden wanneer je twee berichten op dezelfde dag post (immers, dan is hun waarde in die kolom gelijk, en weet je niet welke bovenaan komt) en bij alleen TIME, naja, dat kan je zelf wel bedenken :)

Reageren