PDA

Volledige versie bekijken : met limit werken, hoe volgede pagina?


plietke
%Europe/Berlin %526 %2007, 12:37
hallo,

ik heb een nieuws systeem maar ik wil nu dat hij alleen de eerste 3 zegt, dat doet hij, maar nu wil ik dat als je op nect drukt dat je de volgende 3 ziet maar dat schijnt bij mij maar niet te willen lukken, misschien weet 1 van jullie mij te helpen.

dit is wat ik heb:

$query = mysql_query("select * from nieuws ORDER BY id LIMIT $start,3");
while($obj = mysql_fetch_object($query)){
if($start > 3){
$start = $start+3;
print "<a href="nieuwsarchief?start={$_GET['start']}">ikke</a>";
}

het ziet er een beetje slordig uit volgens mij maar ik weet niet hoe ik het anders moet doen.

josko
%Europe/Berlin %534 %2007, 12:49
wat is de waarde van start?

Die zet je namelijk nergens neer :)

$start = $_GET['start'];
if( !isset( $_GET['start'] ) ) $start = 0;

$sql = mysql_query( "SELECT * FROM nieuws ORDER BY id LIMIT ".$start.", 3");

zoiets?

brossiekoppie
%Europe/Berlin %535 %2007, 12:51
We mogen blijkbaar zoveel in jouw topics SQL injectie vermelden toch blijf je er geen rekening mee houden. Als ik het adres van de pagina waar een gelijkaardig script in staat weet kan ik zonder enig probleem je hele table verwijderen.

bvb. nieuwsarchief.php?start=0; DROP TABLE nieuws;
;) succes verzekerd

Dus...

<?php
$offset = ( isset($_GET['offset']) ) ? mysql_real_escape_String($_GET['offset']) : 0;
$query = mysql_query('select * from nieuws ORDER BY date /* id hoeft niet per se in volgorde te zijn! */ LIMIT ' . $offset . ',3');

while($obj = mysql_fetch_object($query)){ // gebruik mysql_fetch_assoc !

$offset += 3;
echo '<a href="nieuwsarchief?offset=' . $offset . '">previous</a>';
?>

Zoiets zou volgens mij moeten werken