Visa fem senaste posterna via PHP

PHP

10 svar · 345 visningar · startad av Spjuthök

Medlem sedan okt. 200011 inlägg
Trådstart#1

Hej!

Hur gör man om man vill visa de fem senaste inlagda posterna i sin Mysql databas på sin sida.

Det skulle ju gå att lösa med en for loop eller liknande. Man skulle ju kunna ge varje post ett id med autoincrement.. det jag famlar är hur man vet vilka fem som är inlagda sist.

Så som jag tänkte blir det ju de fem som har högst värde på id:t.. någon som fattar vad jag menar? :)
Inte så bra på detta som ni kanske förstår.

Medlem sedan feb. 20005 891 inlägg
#2

Är lite dålig på PHP, men i SQL löser man väl detta med:

SELECT TOP 5 FROM tabell ORDER BY id DESC
Medlem sedan juni 20001 251 inlägg
#3
<?
$db = mysql_connect ("localhost", "användarnamn", "lösenord");
mysql_select_db("databasnamn",$db);
$data = mysql_query("SELECT * FROM tabell ORDER BY id DESC LIMIT 0,5");
while($rad = mysql_fetch_row($data)) {
echo "$rad[0]";
}
mysql_close();
?>

Koden skriver ut ID-nummret på de fem senaste posterna från tabellen.

Medlem sedan okt. 200011 inlägg
#4

Tack .. det var denna som jag fumlade efter: mysql_query("SELECT * FROM tabell ORDER BY id DESC LIMIT 0,5");

Är det så man "brukar göra" när man skall göra detta. OM man typ skall visa de fem senast inlagda nyheter mm?

Medlem sedan juni 20001 251 inlägg
#5

Precis som många andra, brukar jag göra så.

Medlem sedan okt. 200011 inlägg
#6

Ok .. bara undrade så att jag förstår att ni har fattat vad jag menar :)

Medlem sedan okt. 200011 inlägg
#7

Ok.. börjar känna mig tjatig :)
Men om jag har en databastabell som ser ut såhär:

CREATE TABLE artiklar (
a_id int(11) DEFAULT '0' NOT NULL auto_increment,
titel varchar(80),
datum datetime,
ingress text,
huvudtext text NOT NULL,
kategori int(2) DEFAULT '1' NOT NULL,
anteckningar text NOT NULL,
PRIMARY KEY (a_id)
);

Och så vill infoga de fem senast inlagda posterna från denna i en tabell som ser ut såhär:

<table width="100%" border="0">
<tr>
<td>Titeln på nyheten</td>
</tr>
<tr>
<td>Författaren | Datumet</td>
</tr>
<tr>
<td>Här kommer ingressen att komma</td>
</tr>
</table>

Hur gör jag då? Lite kod för detta skulle nog få mig att fatta :)
*Känner mig lite förvirrad*

Medlem sedan juni 20001 251 inlägg
#8
<?
$db = mysql_connect ("localhost", "användarnamn", "lösenord");
mysql_select_db("databasnamn",$db);
$data = mysql_query("SELECT * FROM tabell ORDER BY id DESC LIMIT 0,5");
while($rad = mysql_fetch_row($data)) {
?>
<table width="100%" border="0">
<tr> 
<td><? echo $rad[1]; ?></td>
</tr>
<tr>
<td>Författaren &#0124; <? echo $rad[2]; ?></td>
</tr>
<tr> 
<td><? echo $rad[3]; ?></td>
</tr>
</table>
<?
}
mysql_close();
?>
Medlem sedan feb. 20001 270 inlägg
#9

Stevenet

Då är väl detta enklare att följa!?

<?
                                   $db = mysql_connect ("localhost", "användarnamn", "lösenord");
                                   mysql_select_db("databasnamn",$db);
                                   $data = mysql_query("SELECT * FROM tabell ORDER BY id DESC LIMIT 0,5");
                                   while($rad = mysql_fetch_row($data)) {
                                   ?>
                                   <table width="100%" border="0">
                                   <tr> 
                                   <td><? echo $rad[titel]; ?></td>
                                   </tr>
                                   <tr>
                                   <td>Författaren &#0124; <? echo $rad[datum]; ?></td>
                                   </tr>
                                   <tr> 
                                   <td><? echo $rad[ingress]; ?></td>
                                   </tr>
                                   </table>
                                   <?
                                   }
                                   mysql_close();
                                   ?>
Medlem sedan okt. 200011 inlägg
#10

Tack så mycket!
Nu fattar jag hur det ligger till.

Medlem sedan juni 20001 251 inlägg
#11

woodi, det är möjligt att det kan uppfattas som enklare. ;)

260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)