[PHP] Aantal berichten per pagina in gastenboek

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Kitser
  • Registratie: April 2003
  • Laatst online: 17-09 11:37
Ik heb een script geschreven om berichten van een gastenboek over verschillende pagina's te verdelen. Dit doet ie door middel van een LIMIT in de mySQL query. De LIMIT wordt aangegeven door de variabelen $pos en $count. $count is altijd 5 en $pos is in het begin 0 en wordt verhoogt door een rekensom die hij uitvoert bij het klikken op de links ' volgende' en 'vorige' .

Alleen hij verhoogt telkens de waarde 0 met 5. En niet 5+5 etc. Op een of andere manier blijft $pos dus altijd 0. Ik heb al zoveel geprobeerd en gezocht, ook via de search. Kan iemand me helpen?

Dit is mijn script:

****list.php****

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php 

include("connect.php");//database verbinding aanspreken 

if(!$pos) { $pos = 0; }//start positie bepalen en controleren waar de pos zich bevind 
$count = 5;//aantal records dat moet worden weergegeven per pagina dit kun je zelf veranderen 

$query = ("SELECT * FROM gastenboek ORDER BY id_gasten DESC LIMIT $pos, $count");//een zoekopdracht uitvoeren naar de database en in de variabele query gooien 
$result = mysql_query($query); 
$no_data = mysql_num_rows(mysql_query("SELECT id_gasten FROM gastenboek")); 


$new_pos_next = $pos + $count;//de teller van pos met count verhogen 
if($new_pos_next >= $no_data){ 
$link_next = "volgende >>";//als er geen meer records zijn een lege link weergeven 
}else{ 
$link_next="<a href=list.php?pos=" . $new_pos_next . ">volgende >></a>";// als er nog meer records bestaan een link maken naar de volgende 5 
} 

$new_pos_prev = $pos - $count;//teller van pos met count verlagen 
if($new_pos_prev < 0){ 
$link_prev="<< vorige";//lege link maken als er geen records meer zijn 
}else{ 
$link_prev = "<a href=list.php?pos=" . $new_pos_prev . "><< vorige</a>";//link maken als er nog meer records zijn 
} 
/* 
hieronder worden de records weergegeven de opmaak is naar eigen 
wensen te veranderen 
*/ 
if($result){ 

while($row = mysql_fetch_row($result)){ 



echo"<table width=\"700\" border=\"0\"> 
<tr> 
<td width=\"200\" align=\"left\"><a href=\"mailto:$row[3]\">$row[1] $row[2]</a></td> 
<br><td width=\"300\" align=\"left\">$row[4]</td> 
<td width=\"200\" align=\"left\"><a href=\"update.php?mail_id=$row[0]\">[bewerken]</a></td> 
</tr> 
</table>"; 
} 
}else{ 
echo "geen gegevens kunnen weergeven<br>"; 
} 
?> 

<?php 
/* 
Hieronder de links volgende en vorige weergeven 
*/ 
echo"<table width=\"300\" border=\"0\"><tr><td width=\"300\" align=\"center\">";?><?php echo $link_prev . " " . $link_next ?><?php echo"</td></tr></table>"; 
?> 

Acties:
  • 0 Henk 'm!

  • BrZ
  • Registratie: Maart 2000
  • Laatst online: 14:15

BrZ

$_GET['pos']
(of register globals aanzetten...)

Acties:
  • 0 Henk 'm!

  • Cavorka
  • Registratie: April 2003
  • Laatst online: 27-03-2018

Cavorka

Internet Entrepreneur

Ja, ehm, misschien op lijn 5:
PHP:
1
if(!$pos) { $pos = 0; }//start positie bepalen en controleren waar de pos zich bevind 
Waar komt $pos vandaan? Je zet hem zelf altijd op 0. Want $pos heeft geen waarde...

Register globals, bla bla. $_POST en $_GET gebruiken. :)

the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.


Acties:
  • 0 Henk 'm!

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 20-09 22:57

Knutselsmurf

LED's make things better

Zoals ook in de FAQ staat.

- This line is intentionally left blank -


Acties:
  • 0 Henk 'm!

  • Kitser
  • Registratie: April 2003
  • Laatst online: 17-09 11:37
$_GET['pos']
(of register globals aanzetten...)
Dit werkt! Thanks!