Top
Phpuniverset logo
 

INDHOLD

Forside

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

PHP bog shop

Forum

Online udviklere


Propelcom

ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Paging (10 pr. side) i PHP & MySQL

Forside Kategori PHP/MySQL Paging (10 pr. side) i PHP & MySQL




 

En gennemgang af et script til at vise x antal poster pr. side.


Hvis man skal præsentere en masse poster fra en database, f.eks. indlæg i en gæstebog kan det præsenteres mere overskueligt ved at opdele sin poster på flere sider. Jeg vil i det følgende gennemgå et script der gør netop dette. Scriptet er løbende kommenteret. Kommentarerne til scriptet vil være indrammet af /*…*/


<?php
/* Vi connecter til databasen */
$connection = mysql_pconnect("host", "user", "pass");
mysql_select_db("database");

/* Antallet af poster vi ønsker vist på hver side */
$pr_side = 10;

/* Vi tæller antallet af poster i tabellen husk at ændre ‘table’ til dit eget tabelnavn */
$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM table"),0) or die(mysql_error());

/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;

/* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre ‘table’ til dit eget tabelnavn */
$query = mysql_query ("SELECT * FROM table ORDER BY id DESC limit $vis_fra, $pr_side") or die(mysql_error());
/* Vi kører en while og udskriver data, det jeg har sat på er blot et eksempel */
while ($row = mysql_fetch_array($query)) {
echo $row['id']."<br>";
}
echo "<hr />";

/* Der undersøges om der skal udskrives et ”forrige side”-link, er dette tilfældet udskrives linket */
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æste</a>";
}
?>

Skrevet af: ahv@it.dk



Skrevet af: ahv@it.dk| Dato : 2004-02-18 11:4 | Læst : 11314 gange | Print

Din kommentar og karakter til artiklen

Din karakter:

1

2

3

4

5

6

7

8

9

10

Kommentar:

Log ind for at give en karakter og kommentar.

Kommentarer og karakterer til artiklen

 


8/10

"Jeg har fundet fejlen med at den slet intet viser når der ingen data er. Har erstattet $antal = mysql_result(mysql_query("SELECT COUNT(*) FROM table"),0) or die(mysql_error()); med $hent_antal = mysql_query("SELECT COUNT(*) FROM table"); $antal1 = mysql_fetch_array($hent_antal); $antal = $antal1[0]; Så virker det"

Pia Zastrow | 19.01.2010, 14:52

 


5/10

"Når man ikke har noget som helst i sin db, så viser scriptet ingenting,, der vises heller ikke noget af al den html kode jeg ellers har på siden, når jeg vælger "vis kildekode" i min web browser,, hvorfor ?"

lolljhgfgksd | 17.11.2009, 20:38

 


9/10

"Perfekt - så er jeg fri for at fodre scroll... :o)"

Michael Kjellerup | 12.01.2006, 12:40

 


9/10

"Der var lige det jeg kom efter!!!"

recho | 20.09.2005, 11:08

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

FORUM

Nyeste forum indlæg :

PHP/Opencart import module

Opencart/php import modul hjælp

Lækkert kontor / kontorfællesskab i Helsingør

Opdatering af PHP

Vurdering af hjemmeside

Nyeste forum svar :

Joomla som CMS

Android programmering

Grafik problemer

Prissammenligningsside

Jeg yder fremover ikke support!

 

MEDLEM

LOGIN ER IKKE MULIGT, MENS VI LAVER NYT SITE
 

NYHEDSBREV

Nyhedsbrev

Tilmeld dig vores nyhedsbrev og modtag nyheder om nye scripts og tips samt om mange andre nye tiltag på Phpuniverset.dk


 

© Copyright 2000 Propelcom Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk - android talk & help

Bund