Avatar billede challenge Praktikant
05. november 2005 - 23:30 Der er 4 kommentarer og
1 løsning

Problemer med paging

Hej.

Jeg har dette script:

<html>
<body>
<?
  // Du kan bruge de oprindelige kommandoer ved at udfylde
  // felterne og fjerne kommentarene.
  $db = mysql_connect("localhost", "username", "password");
  mysql_select_db("nyheder", $db);
?>
<?php
$offset = (isset($_GET['offset'])) ? $_GET['offset'] : 0; // Hvis ikke $offset er sat, sættes den til 0
$pr_side = 2; // Antal resultater pr. side

// Henter poster fra databasen
$query = mysql_query("SELECT * FROM nyheder ORDER BY id DESC LIMIT $offset,$pr_side") or die (mysql_error());
while($row = mysql_fetch_array($query)) {
    echo "$row[id] - $row[overskrift]<br>";
}
?>
<hr>
<?php
// Tæller antal poster i databasen
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM nyheder"),0);

$tal = 0;
echo "<a href=hej2.php?offset=0>1</a>&nbsp;";
while ($tal <= $antal) {
$tal = $tal + 2;
echo "<a href=hej2.php?offset=" . $tal . ">1</a>&nbsp;";
}
?>
</body>
</html>

og jeg har 2 problemer:

1. når jeg kører scriptet, så skal jeg kunne vælge hvilken side jeg vil hen til (1 2 3 4 5 6 osv.), men den viser kun et 1-tal. Hvordan gør jeg sådan så den viser 2 3 4 5 6 (har allerede 1-tallet)

2. Min link-række viser 2 links for meget... hvordan får jeg de to ekstra links væk?

lidt svært at forklare, så hér er siden, kørt:
http://www.ferraristi.dk/php/hej2.php

Håber at i forstår :)

mvh.

Stefan Helgason
Avatar billede jaw Nybegynder
05. november 2005 - 23:33 #1
I første omgang, så skift:
$tal = 0;
echo "<a href=hej2.php?offset=0>1</a>&nbsp;";
while ($tal <= $antal) {
$tal = $tal + 2;
echo "<a href=hej2.php?offset=" . $tal . ">1</a>&nbsp;";
}

til:
$tal = 0;
$i = 2;
echo "<a href=hej2.php?offset=0>1</a>&nbsp;";
while ($tal <= $antal) {
$tal = $tal + 2;
echo "<a href=hej2.php?offset=" . $tal . ">".$i."</a>&nbsp;";
$i++;
}
Avatar billede challenge Praktikant
05. november 2005 - 23:40 #2
yup, det virkede, tak for det!

Hvad gør jeg ved de to ekstra tal?

Hmm jaw, så var det dig der hjalp mig igen :D
Avatar billede jaw Nybegynder
05. november 2005 - 23:43 #3
Ja, ja, jeg er her skam ofte :D Læser til eksamen pt, og så er det fine små pauser.

Men det med dine ekstra 2 link må have noget med en udregning et sted at gøre. Du har ikke 3-4 blanke linier i din tabel? Check evt. med phpMyAdmin hvis du har adgang til det...
Avatar billede challenge Praktikant
05. november 2005 - 23:47 #4
Hmm, fik det klaret, dividerede bare antal med 2, så jeg fik while ($tal <= $antal / 2).

Takker for hjælpen :)
Smid et svar!

Held og lykke med eksamen, forresten :)
Avatar billede jaw Nybegynder
05. november 2005 - 23:49 #5
Tak og selv tak :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester