Ik ben bezig met een sigchat. Nu ben ik bezig om de berichten die zijn geplaatst netjes weer te geven op een pagina, zoals bij een gastenboek. Nu ben ik niet de beste in PHP , en had ik mee een paginascript gepakt van deze site: klik
Hij werkt opzich wel... Maar ik heb het aantal berichten dat hij moet weergeven per pagina aangepast.
namelijk
navigatie('berichten',50);
En hij doet dat niet echt..., heb hem namelijk eerst getest op:
navigatie('berichten',2);
en dan krijg ik gewoon alle berichten terwijl hij dan maar 2 berichten per pagina moet weergeven...
// meer queryvariabelen te onthouden dan enkel $_GET[$nav_var]
foreach($_GETas$k=>$v){
if($k!=$negeren){
$querystring.=$k."=".$v."&";
}
}
}
return$querystring;
}
function navigatie($op,$max)
{
if(isset($_GET['aantal'])&&(($_GET['aantal']==8)||($_GET['aantal']==10)||($_GET['aantal']==15)||($_GET['aantal']==20))&&is_numeric($_GET['aantal']))//Juiste vorm controlen
{
$max=$_GET['aantal'];//Als het OK is, $max instellen
<?php
function navigatie($op, $max)
{
$navigatie = 1;
if (isset($_GET['aantal']) && (($_GET['aantal'] == 8) || ($_GET['aantal'] == 10) || ($_GET['aantal'] == 15) || ($_GET['aantal'] == 20)) && is_numeric($_GET['aantal'])) //Juiste vorm controlen
{
$max = $_GET['aantal']; //Als het OK is, $max instellen
}
global $aantal_items_per_pagina;
global $offset;
global $huidige_pagina;
global $aantal_paginas;
$sql1 = mysql_query("SELECT COUNT(id) FROM ".$op) or die("SQL1:". mysql_error());
$totaal_aantal = mysql_result($sql1, 0);
mysql_free_result($sql1);
$aantal_items_per_pagina = $max;
$aantal_paginas = ceil($totaal_aantal / $aantal_items_per_pagina);
$aantal_paginas+=1;
$huidige_pagina = 0;
if(isset($navigatie]) && is_numeric($navigatie]) && $navigatie] > 0 && $navigatie < $aantal_paginas) {
$huidige_pagina = $navigatiepagina;
$huidige_pagina-=1;
}
$offset = $huidige_pagina * $aantal_items_per_pagina;
}
?>
<?php
function navigatie($op,$max)
{
$navigatie=1;
if(isset($_GET['aantal'])&&(($_GET['aantal']==8)||($_GET['aantal']==10)||($_GET['aantal']==15)||($_GET['aantal']==20))&&is_numeric($_GET['aantal']))//Juiste vorm controlen
{
$max=$_GET['aantal'];//Als het OK is, $max instellen
BNoise het formulier zal niet zomaar weg gehaald zijn ;)
Probeer bovenstaande code eens
Probleem: Het weg gehaalde stuk code bevat $_GET['navigatiepagina'] die ook in de functie gebruikt word. Omdat je deze niet meer hebt heb ik in de code deze gezet
<?php
function navigatie($op, $max)
{
$navigatie = 1;
if (isset($_GET['aantal']) && (($_GET['aantal'] == 8) || ($_GET['aantal'] == 10) || ($_GET['aantal'] == 15) || ($_GET['aantal'] == 20)) && is_numeric($_GET['aantal'])) //Juiste vorm controlen
{
$max = $_GET['aantal']; //Als het OK is, $max instellen
}
global $aantal_items_per_pagina;
global $offset;
global $huidige_pagina;
global $aantal_paginas;
$sql1 = mysql_query("SELECT * FROM ".$tabel." ORDER BY id DESC LIMIT 0,6") or die("SQL1:". mysql_error());
$totaal_aantal = mysql_result($sql1, 0);
mysql_free_result($sql1);
$aantal_items_per_pagina = $max;
$aantal_paginas = ceil($totaal_aantal / $aantal_items_per_pagina);
$aantal_paginas+=1;
$huidige_pagina = 0;
if(isset($navigatie) && is_numeric($navigatie) && $navigatie > 0 && $navigatie < $aantal_paginas) {
$huidige_pagina = $navigatiepagina;
$huidige_pagina-=1;
}
$offset = $huidige_pagina * $aantal_items_per_pagina;
}
?>
<?php
function navigatie($op,$max)
{
$navigatie=1;
if(isset($_GET['aantal'])&&(($_GET['aantal']==8)||($_GET['aantal']==10)||($_GET['aantal']==15)||($_GET['aantal']==20))&&is_numeric($_GET['aantal']))//Juiste vorm controlen
{
$max=$_GET['aantal'];//Als het OK is, $max instellen
SQL1:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY id DESC LIMIT 0,6' at line 1
<?php
//voorbeeld pagina:
include "navigatie.php"; // dit is het bestand waar de code inzit
navigatie("gastenboek", 20); //tabel invullen + aantal
$SelecteerBerichten = mysql_query("SELECT * FROM gastenboek
ORDER BY id DESC
LIMIT
".$offset.", ".$aantal_items_per_pagina."
") or die("Fout tijdens selecteren query: <br />". mysql_error()
);
while( $FetchBerichten = mysql_fetch_assoc( $SelecteerBerichten ) )
{
// iets fetchen
}
navigatietonen();
?>
<?php
//voorbeeld pagina:
include"navigatie.php";// dit is het bestand waar de code inzit
navigatie("gastenboek",20);//tabel invullen + aantal
$SelecteerBerichten=mysql_query("SELECT * FROM gastenboek
ORDER BY id DESC
LIMIT
".$offset.", ".$aantal_items_per_pagina."
") or die("Fout tijdens selecteren query: <br />".mysql_error()
Dit had ik eerst ook alleen het probleem is dat hij gewoon steeds alle berichten laat zien op alle pagina's... Terwijl er maar *heb nu 10 berichten per pagina ingesteld navigatie("gastenboek", 10);* 10 berichten per pagina mogen staan.