07. juni 2006 - 20:30Der er
17 kommentarer og 1 løsning
Hente 2 seneste nyheder
Hejsa eksperter!
Jeg vil gerne hente mine 2 seneste tilføjede nyheder ned i en tabel med 1 række og 4 kolonner. Altså et billede og en tekst til hver af de 2 nyheder.
Jeg har prøvet med:
<? $strSQL = "SELECT * FROM nyheder ORDER BY DateTime DESC"; $newslist = mysql_query($comettrawl); $i=0; while ($i<2 && $news=mysql_fetch_assoc($newslist)) { echo $news['tekst']; $i++; } ?>
men det giver følgende fejl:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/kenni.eu/public_html/comettrawl/nyheder/index.php on line 73
Du kan sætte en limit på, og så skal du bruge den rigtige variabel: <?php $strSQL = "SELECT * FROM nyheder ORDER BY DateTime DESC LIMIT 2"; $newslist = mysql_query($strSQL) or die(mysql_error()); while ($news = mysql_fetch_assoc($newslist)) { echo $news['tekst']; } ?>
njoo men det giver vel problemer når det skal udskrives i en tabel?
Problemet er jo ikke at jeg ikke kan finde ud af at få udskrevet de 2 seneste nyheder, men at få den 2 seneste nyhed over i min højre tabel ;)
Synes godt om
Slettet bruger
07. juni 2006 - 21:30#5
Jamen hvordan vil sætte dem op, i en ny tabel? Eller skal der bare være breaks i mellem nyhederne?
Men den rigtige måde er at sætte limit på, for der er ingen grund til at trække alle nyhederne ud fra basen, hvis du kun skal bruge 2 af dem. Hvis du forstår.
Hvis de skal være i en tabel: <table width="100%" cellspacing="0" cellpadding="0"> <?PHP while($news = mysql_fetch_assoc($newslist)) { echo "\n\t<tr>"; //vi indsætter en <tr> for hver nyhed. echo "\n\t\t<td class=\"overskrift\">".$news['overskrift']."</td>"; echo "\n\t</tr>";
echo "\n\t<tr>"; //Så en <tr> til selveteksten i nyheden echo "\n\t\t<td class=\"text\">".$news['tekst']."</td>"; echo "\n\t</tr>";
echo "\n\t<tr>"; //Vi indsætter en tom tabel for at få det adskildt. echo "\n\t\t<td class=\"text\"> </td>"; // = mellemrum echo "\n\t</tr>"; } ?> </table>
Synes godt om
Slettet bruger
07. juni 2006 - 21:30#6
alt hvad der er inde i din while-løkke som det hedder, vil blive gentaget igen og igen.
<table width="100%" border="0" cellspacing="0" cellpadding="2"> <tr> <?php $strSQL = "SELECT * FROM nyheder ORDER BY id DESC LIMIT 2"; $newslist = mysql_query($strSQL) or die(mysql_error()); while ($row_rsNyheder = mysql_fetch_assoc($newslist)) { ?>
Christ, du skal bare sige til du ikke vil have hjælp igen, for du får den ikke... Fuck de skide point, men at påstår man selv er kommet på det, det er jo en direkte løgn...
Ja fuck points, men at man bruger tid på at hjælpe og det er takken... fint nok..
Synes godt om
Slettet bruger
07. juni 2006 - 22:40#18
Men som hmortensen siger, så er det meget meget langt fra det samme, da du trækker alle tingene ud fra databasen.
Tænk hvis du har 3.000.000 vare eller kunder i din database, og du kun skal have statisk på den ene, så er det squ da spild af tid, at hente de 2.999.999 andre synes du ikke?
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.