dimdal Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 Hei, Driver å lærer meg litt SQL + PHP her nå, og lurer på følgende; Jeg har altså et PHP-script som viser 6 rader fra en database: <?php $count = 1; $db = mysql_connect("localhost", "root", ""); mysql_select_db("users", $db); $result = mysql_query("SELECT * FROM users3",$db); while($myrow = mysql_fetch_array($result)) { if($count < 6){ $count++; echo "<div id=\"user\"><b>Navn:</b>".$myrow["navn"]." <br><b>Nick:</b>".$myrow["nick"]." <br><b>Password:</b>".$myrow["password"]."</div><br><br>"; } } ?> Da får jeg altså vist de første 6 radene i tabellen min, i dette tilfellet "brukere", men nå vil jeg altså ha en link som sier noe sånt som "Neste side" og da kan liste opp de 6 neste i tabellen. Er sikker på at dette har noe med id på radene å gjøre, men det eneste jeg vet jeg kan bruke er WHERE id=$id der hvor jeg henter ut data fra tabellen.. men denne vil jo da bare hente ut èn rad, hvis ikke det er en måte som gjør at $id kan være en "range" med tall. Noen som har noen tips her? Håper folk skjønner hva jeg mente.. Lenke til kommentar
LoS Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 (endret) Du burde se litt på LIMIT som brukes i mysql. LIMIT 0,6 på slutten av spørringen din vil gjøre slik at det ikke kommer fram mer enn 6 rader fra tabellen. Gjør i tillegg scriptet ditt raskere og, selv om jeg tviler på at du vil merke noe til det før du får en større brukermengde som bruker scriptet ditt Finner faktiskt en del "how-to's" ang. dette på nettet. edit: LIMIT 7,12 vil liste ut fra og med rad 7 til og med rad 12. Som ett lite hint Endret 7. juli 2004 av LoS Lenke til kommentar
Torbjørn Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 limit 7,6 viser de 6 neste radene fra rad 7 Lenke til kommentar
dimdal Skrevet 7. juli 2004 Forfatter Del Skrevet 7. juli 2004 <?php $db = mysql_connect("localhost", "root", ""); mysql_select_db("nyheter", $db); $result = mysql_query("SELECT * FROM nyheter LIMIT $from,4",$db); while($myrow = mysql_fetch_array($result)) { echo "<b>".$myrow["overskrift"]."</b><br><hr>".$myrow["nyhet"]."<br>".$myrow["forfatter"]."<br><br>"; echo "<a href=\"delete_news.php?id=".$myrow[id]."\">Delete</a>"; echo "<br><br>"; } $from = $from+5; echo "<a href=\"admin_news.php?from=$from\">Neste</a><br><br>"; ?> Oki, nå har jeg et script som kan vise de 4 neste hver gang jeg trykker på neste, men må nok sette en while loop rundt linja som genererer "neste"-linken, den skal jo ikke genereres når det ikke finnes flere rader i tabellen. Men akkurat dette er jeg veldig usikker på, hvordan skal jeg få til dette? Hvis noen kan peke meg på rett vei igjen så hadde det vært flott.. Lenke til kommentar
Torbjørn Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 løsningen er i verste fall å kjøre to spørringer, en for å telle antall rader du ville fått uten limit, og en får å vise de du får. hvis du har en $from som så er innenfor totale antall rader, viser du ingen neste knapp. nyere mysqlversjoner kan rapportere hvor mange rader du ville fått uten limit. Lenke til kommentar
Blib Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 Hva med å telle opp totalt antall poster, antall poster som har blitt vist tidligere, og hvis "totalt - hittil" er lik 0 eller skal linken "Neste side" ikke vises? Lenke til kommentar
dimdal Skrevet 7. juli 2004 Forfatter Del Skrevet 7. juli 2004 (endret) Hmm, går det ikke ann å få SQL til å telle antall rader i en tabell via en spørring ? Hmmm.. da må jeg på en måte sammeligne $from og verdien SQL gir ut fra en sånn telling.. Blib: ja det er noe sånt jeg tenker på.. Endret 7. juli 2004 av dimdal Lenke til kommentar
Torbjørn Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 select count(*) from blabla where ... og med samme where betingelser vil du kunne få ut antallet rader Lenke til kommentar
LoS Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 Kunne jo brukt mysql_num_rows og. Selv om det er noe tregere. Lenke til kommentar
dimdal Skrevet 7. juli 2004 Forfatter Del Skrevet 7. juli 2004 Jeg skjønner forsåvidt hva som menes her, men selve utførelsen får jeg absolutt ikke til, har prøvd og prøvd nå, men finner liksom ikke helt "ideen" for å få dette til.. Lenke til kommentar
LoS Skrevet 7. juli 2004 Del Skrevet 7. juli 2004 Finner ihvertfall noe som skal gjøre samme nytta her Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå