webForumDet fria alternativet

Visa fem senaste posterna via PHP

PHPur PHP

10 svar · 333 visningar · startad av Spjuthök

SpjuthökMedlem sedan okt. 200011 inlägg
#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.

cascaMedlem 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

------------------
Canis meus id comedit

stevenetMedlem 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.

------------------
SteveNet - stevenet@webmarkit.net
Cogito ergo doleo.

[Redigerat av stevenet den 02 jan 2001]

SpjuthökMedlem 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?

stevenetMedlem sedan juni 20001 251 inlägg
#5

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

------------------
SteveNet - stevenet@webmarkit.net
Cogito ergo doleo.

SpjuthökMedlem sedan okt. 200011 inlägg
#6

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

SpjuthökMedlem 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*

stevenetMedlem 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();
?>

------------------
SteveNet - stevenet@webmarkit.net
Cogito ergo doleo.

woodiMedlem 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();
                                   ?>

------------------
woodi
Svenska FF1
www.johan-skog.nu

SpjuthökMedlem sedan okt. 200011 inlägg
#10

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

stevenetMedlem sedan juni 20001 251 inlägg
#11

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

------------------
SteveNet - stevenet@webmarkit.net
Cogito ergo doleo.

136 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)