31. juli 2003 - 00:00Der er
12 kommentarer og 1 løsning
Næste side funktion
Hej
Hvordan kan jeg lave en funktion, som henter x poster ud fra min sql database og hvis der er flere poster, så bliver de indsat på en ny side. Ligesom det system her på eksperten, hvor der bliver vist 20 spm/side. Hvordan laver jeg det?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
$query = mysql_query ("SELECT * FROM tabel ORDER BY id DESC limit $visfra, $prside"); // Dit database udtræk while ($row = mysql_fetch_array($query)) { echo $row['id']."<br>"; }
$antal = mysql_num_rows(mysql_query("SELECT * FROM tabel"));
Først og fremmest er det en god ide, at bruge sql's limit funktion.
F.eks. "SELECT * FROM tabel LIMIT 0,20"
Det du så kan gøre, er at sætte 0 til en variabel, så du skriver: mysql_query("SELECT * FROM tabel LIMIT $i, 20");
Du skal så bare lave, f.eks en for-løkke eller en ny sidehenvisning hvor $i bliver sat op med 20 hver gang. Altså først 20 indlæg bliver 0,20 - næste bliver 20,20 og næste 40,20 osv.
<?php // Indstillinger $offset = (isset($_GET[offset])) ? $_GET[offset] : 0; // Hvis ikke offset er sat, sættes den til 0 $pr_side = 20; // Antal resultater pr. side
$query = mysql_query("SELECT * FROM tabel ORDER BY id DESC LIMIT $offset,$pr_side"); // Henter poster fra tabellen "tabel" (husk at ændre til den tabel du bruger) while($row = mysql_fetch_assoc($query)) { echo "$row[id] - $row[felt]<br>"; // Udskriver felter fra tabellen } ?> <hr> <?php $antal = mysql_result(mysql_query('SELECT COUNT(*) FROM tabel'),0); // Tæller antal poster i tabellen "tabel" (husk at ændre til den tabel du bruger)
if ($offset >= $pr_side) { // Tester om det er nødvendigt med et "forrige-link" $forrige = $offset-$pr_side; // Finder ud af hvor forrige skal starte fra echo "<a href='?offset=$forrige'>Forrige</a> "; // Udskriver link } if ($antal > $offset+$pr_side) { // Tester om det er nødvendigt med et "næste-link" $naeste = $offset+$pr_side; // Finder ud af hvor næste skal starte fra echo "<a href='?offset=$naeste'>Næste</a>"; // Udskriver link } ?>
Du kan vel blot sætte en div rundt om hvor text-align er center?
Synes godt om
Slettet bruger
31. juli 2003 - 19:13#13
Ja. Det kunne jeg, men har sat det ind i en tabel. Det virker som det skal. Mange tak for hjælpen :-D
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.