09. august 2005 - 18:04
Der er
16 kommentarer og 1 løsning
paging-problem
Jeg har et lille problem med hensyn til paging på min blog: <?php &&connect&& $offset = (isset($_GET[offset])) ? $_GET[offset] : 0; $pr_side = 2; $query = mysql_query("SELECT * FROM blog ORDER BY tid DESC LIMIT $offset,$pr_side"); while($row = mysql_fetch_assoc($query)) { $blogid = $hent[id]; $emne = $hent[emne]; $forfatter = $hent[forfatter]; $tid = $hent[tid]; $tekst = $hent[tekst]; echo "<table width='455px' align='center'>"; echo "<tr><td width='15px'>"; echo "<span class='overskrift_2'>$blogid</span></td>"; echo "<td colspan='2' width='435px'><span class='overskrift_1'> - $emne</span></td></tr>"; echo "<tr><td colspan='2'>"; echo $tekst; echo "<p><div align='right'><span class='info'>$forfatter - $tid</span></div>"; echo "</td></tr>"; echo "</table>"; echo "<br>"; } $antal = mysql_result(mysql_query('SELECT COUNT(*) FROM blog'),0); if ($offset >= $pr_side) { $forrige = $offset-$pr_side; echo "<a href='?offset=$forrige'>Forrige</a> "; } if ($antal > $offset+$pr_side) { $naeste = $offset+$pr_side; echo "<a href='?offset=$naeste'>Næste</a>"; } mysql_close($conn); ?> Hvad kan være galt. Den udskriver ikke selve bloggen...
Annonceindlæg fra Pax8
09. august 2005 - 18:18
#1
while($row = mysql_fetch_assoc($query)) { skal være while($hent = mysql_fetch_assoc($query)) {
09. august 2005 - 18:19
#2
Jeg tror at di skal rette alle dine: $tid = $hent[tid]; - til: $tid = $row[tid];
09. august 2005 - 18:19
#3
... ja, eller den anden vej rundt. :^)
09. august 2005 - 18:20
#4
ud fra koden ville jeg sige mit var nemmest nielle, men jeg startede også med at ville ændre alle $hent[] ;)
09. august 2005 - 18:29
#5
Tak for hjælpen, nu virker det. Hvad skal jeg gøre hvis jeg vil udskrive: Forrige 1, 2, 3, 4, 5 Næste ?
09. august 2005 - 18:52
#6
Tilfældet Forrige er jo nemt - det svarer blot til at offset er større end 0. Næste kræver at du på et eller andet tidspunkt har fundet ud af hvor mange rækker der er i tabellen. Hvis offset+prside overskrider denne værdi så er du på sidste side, og ellers skal der en Næste på.
09. august 2005 - 19:05
#7
Eh... ja... kan du give lidt konkret kode? Og hvordan får man iøvrigt PHP til at skrive den side man er på nu, altså 1 eller 4 osv. med fed...
09. august 2005 - 19:13
#8
Hmm? Jeg kan se at du faktisk allerede har Forrige og Næste med i din kode. Og det ser da rimeligt korrekt ud. Så hvorfor spørger du egentlig?
09. august 2005 - 19:56
#9
Jeg vil gerne have den til at udskrive 1, 2, 3, 4, 5 osv. så man f.eks kan hoppe direkte til side 4 fra side 1...
09. august 2005 - 20:01
#10
$page = 1; for ($i=0; $i<$antal; $i+=$pr_side) { echo "<a href='?offset=$i'>$page</a> "; $page++; }
10. august 2005 - 15:26
#11
Takker, nielle, du må gerne lægge et svar... BTW: Hvordan får man PHP til at udskrive tallet med fed. Altså skrive side nr. 1 med fed hvis man er på side 1.
10. august 2005 - 18:42
#12
$page = 1; for ($i=0; $i<$antal; $i+=$pr_side) { echo ($i == $offset) ? "<a href='?offset=$i'><b>$page</b></a> " : "<a href='?offset=$i'>$page</a> "; $page++; }
Slettet bruger
11. august 2005 - 03:10
#13
14. august 2005 - 19:17
#14
hvorfor er det at jeg ikk skulle have point for at svare på det oprindelige spørgsmål ?
14. august 2005 - 19:19
#15
Plazm: Nielle hjalp mig mest...
14. august 2005 - 19:19
#16
Men sorry... kan godt se hvad du mener. Sig til hvis du vil ha point.
14. august 2005 - 19:23
#17
Det er ligemeget,skal ikke bruge dem til noget, syns bare det var en underlig holdning, når nu jeg var først med svar, som også virkede.
Vi tilbyder markedets bedste kurser inden for webudvikling