A problem with pagination in PHP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

I have followed only a short course in PHP and have a book 'PHP for dummies'
but i can't find a solution for my problem.

I'm currently working on a photoalbum. most functions work and i started to
implement pagination on my photoalbum.
where the page script works fine when i get a list of users from the db, it
does not work the same way for my pictures.

when the page is loading all seem to work fine untill i have more than 5
photos on the page ( $showRecords)
also, when i change the second query to just load all the pictures from the
db it shows the 5 pictures AND it shows
how many pages exist.

however, im stuck here, because when i click on page 1, 2 etc it gives me a
blank page.
when the query results are over 5 pictures in my current script (as seen
below) i get an error message:

*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 ''0' , '5'' at
line 1
*
for some reason i haven't found a good solution yet. i hope some of you can
give me a hand here to understand it better.
any tips about the script and about the style are welcome, im still learning
and could use some constructive critics.

taco mathijs

<?php
> // this routine checks if a visitor has acces. no session - no acces
> if(!isset($_SESSION['gbrid'])) {
>   echo "u moet ingelogd zijn als gebruiker";
>     exit();
> }
>
> else {
>
>     //-- link back to the last page.
>         echo "<a href=\"#\" onclick=\"history.go(-1)\"><strong><h5>Terug
> naar het overzicht</h5></strong></a>";
>
> $pag        = $_GET['pag'];
>
> // first visit should be 0
> if($pag == '' || $pag == 1){
>     $pag = 0;
> }
> // results to show per page
> $showRecords= 5;
>
>
> // first query - seems to be okay. the page shows up correct
> $query = "SELECT * FROM fot WHERE locid= '" .$_GET['locid']."' && catnaam=
> '".$_GET['catnaam']."'";
>
> $results = mysql_query($query) or die(mysql_error());
> $num_rows = mysql_num_rows($results);
>
>    $pages = $num_rows / $showRecords;
>
> if($pages>1){
>     $myPage = $pag * $showRecords;
>
>     // the second query.
>     $query = "SELECT * FROM fot WHERE locid= '" .$_GET['locid']."' &&
> catnaam= '".$_GET['catnaam']."' ORDER BY fotid ASC LIMIT '".$myPage."' ,
> '".$showRecords."'";
>
>
>
>     $results = mysql_query($query) or die(mysql_error());
> }
>
>     if($pages > 1){
>     for($i=1; $i<=floor($pages); $i++){
>
>
>     echo ' | <a href='.$_SERVER['PHP_SELF'].'?pag='.$i.'>'.$i.'</a>';
>     }
>
>     echo " |<br/><br/>";
>  }
>
>
>
>
> while ($rows = mysql_fetch_array($results))
>         {
>
>     $foto1 = '<img class="thumb" src="../~taco/'. $rows['path'] . "\" fotid
> = ".$fotid.">";
>
>             echo  "<a href=\"fotoid.php?fotid=" . $rows['fotid'] .
> "\">".$foto1."</a>";
>
>
>
>
>
>         }
> }
>
> // for debugging purposes
> echo print_r($query);
>
>
>
>
> ?>
>

[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux