pagina systeem

Status
Niet open voor verdere reacties.

imacbest

Gebruiker
Lid geworden
28 nov 2008
Berichten
227
hier op de site van helpmij hebben ze dat er een x aantal topics op een pagina komt en dan schuift het door naar een nieuwe pagina.
zoiets wil ik ook op mijn website.
ik maak een nieuwssysteem en dan omde 10-15 berichten moet er een nieuwe pagina komen waar het dan verder gaat
ik hoop dat iemand het weet en mij kan helpen
 
Je wil een paginering scriptje maken. Wat je moet doen is bijhouden in de URL op welke pagina de bezoeker is, en de query die de informatie ophaalt zo aanpassen dat ie een aantal rijen overslaat, afhankelijk van welke pagina je wilt zien.

Zoiets:

PHP:
$page = isset( $_GET['p'] ) ? $_GET['p'] : 0;
$aantal_per_pagina = 15;
$start = $page * $aantal_per_pagina;

$data = mysql_query(
"SELECT *
 FROM news
 LIMIT $start, $aantal_per_pagina" );

Dan wordt de pagina uit de URL gelezen, en skipt de query een aantal berichten afhankelijk van op welke pagina je bent (hij begint bij 0!) dus op pagina 2 skipt hij de eerste 30 berichten, en haalt hij er daarna 15 op die hij zal tonen.

Succes :)
 
proberen

ik zal het proberen!
maakt hij zelf de nieuwe pagina's aan?
 
Je wil een paginering scriptje maken. Wat je moet doen is bijhouden in de URL op welke pagina de bezoeker is, en de query die de informatie ophaalt zo aanpassen dat ie een aantal rijen overslaat, afhankelijk van welke pagina je wilt zien.

Zoiets:

PHP:
$page = isset( $_GET['p'] ) ? $_GET['p'] : 0;
$aantal_per_pagina = 15;
$start = $page * $aantal_per_pagina;

$data = mysql_query(
"SELECT *
 FROM news
 LIMIT $start, $aantal_per_pagina" );

Dan wordt de pagina uit de URL gelezen, en skipt de query een aantal berichten afhankelijk van op welke pagina je bent (hij begint bij 0!) dus op pagina 2 skipt hij de eerste 30 berichten, en haalt hij er daarna 15 op die hij zal tonen.

Succes :)
ik heb nu dit:
PHP:
<?php
$db_user = "gebruiksers_naam"; // Gebruikersnaam voor MySQL
$db_pass = "wachtwoord"; // Wachtwoord voor MySQL
$db_host = "localhost"; // Host voor MySQL (standaard localhost(als dit niet zo is vermeld je host dat))
$db_db = "database_naam"; // Databasenaam

mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_db) or die( "Unable to select database");


// $query="SELECT * FROM nieuws"; 
// dit stond er bij mij eerst
$page = isset( $_GET['p'] ) ? $_GET['p'] : 0;
$aantal_per_pagina = 5; // hier even dit gedaan omdat ik dan sneller kon zien
$start = $page * $aantal_per_pagina;
 
$query="SELECT * FROM nieuws LIMIT $start, $aantal_per_pagina";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();

echo "<b><center><h1>nieuws</h1></center></b><br><br>";



$i=0;
while ($i < $num) {
$tijdstip=mysql_result($result,$i,"tijdstip");
$titel=mysql_result($result,$i,"titel");
$verhaal=mysql_result($result,$i,"verhaal");
$schrijver=mysql_result($result,$i,"schrijver");


echo "<hr>Titel: $titel<p></p>Verhaal:  $verhaal <br />Schrijver:  <h3>$schrijver</h3><br> tijdstip van plaating: $tijdstip";

$i++;
}

?> 
<html>
<head>
<title>Nieuws</title>
</head>
<body bgcolor="#80e862">
</body>
</html>
aleen er komt geen linkje ofzo naar een 2de pagina
 
Laatst bewerkt:
Dat linkje zul je zelf moeten maken ;)

Je weet op welke pagina de gebruiker is, dus je kunt een linkje naar de volgende en vorige zetten:

Code:
<a href="huidige_pagina.php?p=<?php echo ( $page + 1 ) ?>">Volgende</a>
<a href="huidige_pagina.php?p=<?php echo ( $page - 1 ) ?>">Vorige</a>

Je programma doet niks tenzij je aangeeft dat het dat moet doen.
 
Dat linkje zul je zelf moeten maken ;)

Je weet op welke pagina de gebruiker is, dus je kunt een linkje naar de volgende en vorige zetten:

Code:
<a href="huidige_pagina.php?p=<?php echo ( $page + 1 ) ?>">Volgende</a>
<a href="huidige_pagina.php?p=<?php echo ( $page - 1 ) ?>">Vorige</a>

Je programma doet niks tenzij je aangeeft dat het dat moet doen.
dit doet het :)
aleen hoe doe je dan dat ie bij de laatste pagina niet meer verder kan?
 
Simpel; als er niet meer rijen zijn, dan toon je de link niet.

Makkelijkste manier is om 1 rij meer op te halen dan je wilt tonen. Als het je lukt om het aantal gevraagde rijen op te halen, dan ben je nog niet op het einde.
Niet vergeten om de extra opgehaalde rij weer uit de lijst te halen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan