Då är det bara att sätta $start där du vill att den ska börja och $stop till hur många rader du vill ha. Detta går lätt att fixa så att du kan "flytta pekaren" genom att kolla om $start är satt, om inte är den noll... men om den är det så är $start = $start+5 (eller hur mycket du nu har satt $stop till)
Kolla också in next() och prev() och varför inte current() och array_search() när du ändå håller på. :)
Jo men dessa fungerar väl inte på en variabel av typ: mysql_query()?
Alltså jag har en variabel, $resultat som är av typen mysql_query. Denna innehåller en HEL tabell. Som jag har fattat det så är det dock ingen vanlig array detta? vare sig en två eller tre dimensionell sådan. Det går alltså inte plocka ut ett värde ur denna variabel på följande sätt?
$varde = $resultat[2]; //går inte
$varde = $resultat[3][2] //går inte heller.
Alltså måste jag plocka en rad först ur denna variabel. Det är här i problemet ligger. Jag vill kunna plocka en specifik rad, vilken som. Ett sätt är ju att göra en loop först typ så här:
//Om jag vill ha rad 5
for (i=0; i<5; i++)
{
$temp = mysql_fetch_row($resultat);
}
//sedan plockar jag rad 5 då
$rad = mysql_fetch_row($resultat);
Inte så snyggt och problemet är hur jag skall göra om jag därefter vill hämta ut rad 4:a...
Ja, men du kan ju slänga in ditt resultat i en egen array? Detta borde funka:
$sql = "SELECT * FROM hejsan";
$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs)) {
$rAr[] = $row;
}
Nu har du hela klumpen i $rAr och torde kunna använda t.ex. $rAr[0]['id'] om jag förstått rätt. Och därmed också kunna använda next() och prev() osv...
tja... ganska simpelt faktiskt...
jag har bla en gästbok där jag vill visa fem inlägg i taget med en bakåt knapp och en framåtknapp samt länkar till sida1...sida2...
Kanske finns bättre lösningar?
Annars är ovanstående rätt bra... lägg det i en egen array...=)
Njae... det tycker inte jag (observera att det endast är jag ;))
Det alternativet gör det nog ganska segt då du måste hämta alla inlägg först och sedan sortera ut dem... om du använder "mitt" exempel så hämtar du endast de rader du ska visa... det går nog snabbare kan jag tänka mig. Sök efter "pagin" här på wF så får du en hel del exempel att välja mellan.
Ja, du ska ju klockrent titta på nyckelordet "LIMIT" för dina SQL-frågor... Hade du sagt vad du skulle ha det till från början hade vi kunnat hjälpa dig mycket snabbare. :)
t.ex:
SELECT * FROM guestbook ORDER BY tsCreated DESC LIMIT 0, 5
hämtar de fem senaste inläggen om du har ett automatiskt timestampfält som heter tsCreated. Sen kan du bara scripta så att du på nästa sida kör:
SELECT * FROM guestbook ORDER BY tsCreated DESC LIMIT 5, 5
...för att hämta de fem nästa inläggen.
135 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe