Avatar billede var Nybegynder
16. december 2007 - 00:32 Der er 17 kommentarer og
1 løsning

Page Next and Back

Hey alle sammen !

Jeg har længe prøvet at finde ud af det såkaldte "pagination" dog uden held. Jeg har prøvet en masse koder og prøvet at læse alle tutorials som jeg kunne finde, stadig uden held. Derfor har jeg afsat 200 point til den som kan løse dette problem. Er der så en ekspert derude som kunne tænke sig at hjælpe mig med det ? :)

Mange tak
Avatar billede straszek Praktikant
16. december 2007 - 08:07 #1
Nedenstående virker fint for mig.
$pr_side = 500; // Hvor mange post pr. side

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM TABEL"),0) or die(mysql_error());

$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

$find_sql = mysql_query("SELECT * FROM TABEL limit $vis_fra, $pr_side
") or die(mysql_error());




while ($raekke2 = mysql_fetch_array($find_sql)) {
        extract($raekke2);

echo"dit out put her";

}


if($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?visfra=$back'>Forrige</a> ";
}
$page = 1;

/* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}

/* Der undersøges om der skal udskrives et ”næste side”-link, er dette tilfældet udskrives linket */
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?visfra=$next'>N&aelig;ste</a>";
}
Avatar billede var Nybegynder
16. december 2007 - 11:34 #2
Ikke fordi jeg er ekspert til PHP eller MySQL men skal jeg ikke først connecte til MySQL databasen ? Og skal jeg ikke også lave nogle tabeller i Databasen ?
Avatar billede straszek Praktikant
16. december 2007 - 11:47 #3
jo naturligvis - overstående trækker det ud du har i din database og laver pagination over det. Der skal naturligvis være forbindelse til databasen, og nået i databasen at vis
Avatar billede var Nybegynder
16. december 2007 - 12:19 #4
Så jeg skal oprette tabeller i min database som indeholder content? fx billeder ?
Avatar billede var Nybegynder
20. december 2007 - 20:39 #5
Nogle der kan give mig en hurtig step for step guide ? :)
Avatar billede straszek Praktikant
20. december 2007 - 21:54 #6
hvad er det du er i tvivlo om? - du bruger ovenstående script på det indhold du gerne vil lave paging på
Avatar billede var Nybegynder
20. december 2007 - 22:08 #7
Jeg er i tvivl om hvad jeg præcist skal gøre. Du har givet mig en kode, godt nok er der kommentarer på. Men jeg ved ikke helt hvad jeg skal stille op..
Avatar billede var Nybegynder
20. december 2007 - 22:09 #8
har forresten også dette script:

  <?php
/*database forbindelse*/
@mysql_connect("localhost","bruger","pass");
@mysql_select_db("db");//database navn
$num = $_GET['num'];//opretter antal side numre der skal vises
if(empty($num)){//Hvis der ikke er til flere end 1 side
$num = 1;//Så er nummeret self. 1
};
$limit = 2;//sætter antallet af resultater pr. side
$start = ($num-1)*$limit;
$start = round($start,0);
$query = "SELECT * FROM `example` ORDER by `id` LIMIT $start, $limit"; // Udskift exampel med dit tabelnavn
$result = mysql_query($query);

while ($r = mysql_fetch_array($result)){
echo "$r[title]<br>";
};
$totalpages = mysql_num_rows(mysql_query("SELECT * from `example`"));// tilret tabel navn udskift exampel med dit tabel navn

$totalpages = $totalpages / $limit;
$totalpages = round($totalpages,0);
$c = 0;//The variable c is 0
echo "<br>";//lav <br> for at lave mellemrum mellem din sidevisning [1][2]...
while($c<$totalpages){
$page = $c + 1;
if($_GET['num']==$page){
echo "[$page] ";
}else{//else
echo "<a href=?num=$page>[$page] </a>";
}
$c = $c+1;
}
echo "<br>".$totalpages." Pages in total.";
?>
Avatar billede straszek Praktikant
20. december 2007 - 22:13 #9
ovenståenede er også et fint script -det hiver informationer ud af databasen "db" og tabellen "example" og laver pageing på dette.

Hvad er det du er i tvivl om?
Avatar billede var Nybegynder
20. december 2007 - 22:28 #10
jeg er i tvivl om hvordan jeg laver tabellen example correct. Hvordan jeg får vist "indholdet" på skærmen.
Avatar billede var Nybegynder
21. december 2007 - 19:24 #11
Jeg kan få vist siderne. Men indholdet kommer ikke ? bruger nr 2 script.
Avatar billede straszek Praktikant
21. december 2007 - 19:28 #12
det kræver at du har en database og noget indhold i denne database, som du vil lave paging over - det giver jo heller ingen mening at lave side numre i en bog uden sider...
Avatar billede var Nybegynder
23. december 2007 - 12:13 #13
Ja. Det hele virker næsten nu(bruger den kode du postede). har lavet denne tabel(fra en anden tutorial)

CREATE TABLE products ( id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, name VARCHAR(50) NOT NULL, description TEXT NOT NULL ); INSERT INTO products (name,description) VALUES ('Product 1','Description for Product 1'); INSERT INTO products (name,description) VALUES ('Product 2','Description for Product 2'); INSERT INTO products (name,description) VALUES ('Product 3','Description for Product 3'); INSERT INTO products (name,description) VALUES ('Product 4','Description for Product 4'); INSERT INTO products (name,description) VALUES ('Product 5','Description for Product 5'); INSERT INTO products (name,description) VALUES ('Product 6','Description for Product 6'); INSERT INTO products (name,description) VALUES ('Product 7','Description for Product 7'); INSERT INTO products (name,description) VALUES ('Product 8','Description for Product 8'); INSERT INTO products (name,description) VALUES ('Product 9','Description for Product 9'); INSERT INTO products (name,description) VALUES ('Product 10','Description for Product 10');

Den viser siderne. men indholdet kan jeg ikke få frem.
hvad skal jeg skrive ved:
echo"dit out put her";
så "description" kommer frem?
Avatar billede straszek Praktikant
23. december 2007 - 12:30 #14
$description
Avatar billede var Nybegynder
23. december 2007 - 21:38 #15
Mange tak :) smider du lige et svar. (jeg skriver her igen hvis jeg får problemer, er det ok?)
Avatar billede straszek Praktikant
24. december 2007 - 08:23 #16
jeps, gør bare det
Avatar billede var Nybegynder
24. december 2007 - 18:46 #17
Nu virker det næsten :) Hvordan får jeg scriptet til at arrangere de forskellige "descriptions" efter deres id og ikke efter hvordan rækkefølgen er inde i MySQL.
Avatar billede var Nybegynder
26. december 2007 - 23:55 #18
Fandt ud af det :) Tak for alt
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