Jeg har et lille nyhedssystem som jeg gerne vil have modificeret lidt, så det fylder en smule mindre på skærmen. Som det er nu henter den blot nyhederne fra db'en i en lang (nærmest endeløs) række. Men jeg vil gerne have ændret så den kun henter den seneste nyhed frem i stort perspektiv (altså med billede og indledning osv.) og så henter de sidste fx 10 seneste nyheder blot med en titel ned i nogle rækker. Man skal vel på en eller anden måde få systemet til "skrive ned" hvad den første nyhed der bliver vist har for en id, og så tage de 10 seneste nedenunder, og så finde deres id, ved at sige id - 1. Lidt rodet snak, men jeg kan ikke helt tænke mig til hvordan jeg gør det. Min kode til det jeg har nu: $sql = "select * from tgvnyheder ORDER BY id DESC limit 0,2"; $query = mysql_query($sql); while ($row = mysql_fetch_array($query)) { extract($row); echo' <table cellpading="0" cellspacing="0" border="1" align="left" width="50%" height="100"> <tr> <td><p align="top">Nyhed, '.$platform.'</p> </td> </tr> <tr> <td><p align="top"><a href="vis_nyhed.php?id='.$id.'">'.$titel.'</a><br>'.$undertitel.'</p> </td> </tr> </table> ';
Det var den korte version, men jeg er sikker på der er nogen der kan få noget ud af den alligevel :)
$sql = "select * from tgvnyheder ORDER BY id DESC limit 1"; $query = mysql_query($sql); while ($row = mysql_fetch_array($query)) { $id1 = $id; extract($row); echo' <table cellpading="0" cellspacing="0" border="1" align="left" width="50%" height="100"> <tr> <td><p align="top">Nyhed, '.$platform.'</p> </td> </tr> <tr> <td><p align="top"><a href="vis_nyhed.php?id='.$id.'">'.$titel.'</a><br>'.$undertitel.'</p> </td> </tr> </table> ';
$query = mysql_query("SELECT *,CONCAT(LEFT(felt_med_nyhed,150),'...') as kort_tekst FROM tvgnyheder WHERE id != '$id1' ORDER BY id DESC") or die(mysql_error()); while($row = mysql_fetch_array($q)) { echo $row['kort_tekst'];
Vil give dig den sidste nye nyhed med hele svineriet, og så de næste nyheder udtrykket så man kan se 150 tegn og så evt. lave dem klikbare hvis man er mere interesserede...
Tror faktisk du kan nøjes med: $query = mysql_query("SELECT *,CONCAT(LEFT(felt_med_nyhed,15),'...') as kort_tekst FROM tvgnyheder WHERE id != '$id1' ORDER BY id DESC") or die(mysql_error()); $query = mysql_query($sql); while ($row = mysql_fetch_array($query)) { extract($row); if(!$storid) { //her udskriver vi alt $storid = $id; } else{ echo' //her bruger vi $kort_tekst '; }
Superb! Det funger! Brugte codebase's eksempel, da det var omringet af mest simpelthed. Smid endelig et svar!
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.