Hallo,

Ik heb een script om in mijn database te zoeken. De search werkt perfect alleen de paging niet. Ik heb maximium 6 results per page en dan een link me Show next results.

Als ik op deze link klik echter blijf ik op de 1e pagina...

Script:
<?php

ini_set('display_errors', 1); 
error_reporting(E_ALL | E_STRICT);

  // Get the search variable from URL

  $var = ucwords($_GET['q']) ;
  $trimmed = trim($var); //trim whitespace from the stored variable

// rows to return
$limit=6; 

// check for an empty string and display a message.
if ($trimmed == "")
  {
  echo "<p>Please enter a search...</p>";
  
  }

// check for a search parameter
if (!isset($var))
  {
  echo "<p>We dont seem to have a search parameter!</p>";
  exit;
  }

// Build SQL Query  
$query = "select * from template where title like \"%$trimmed%\"  
  order by id ASC"; // EDIT HERE and specify your table and field names for the SQL query

 $numresults=mysql_query($query);
 $numrows=mysql_num_rows($numresults);

// If we have no results, offer a google search as an alternative

if ($numrows == 0)
  {
  echo "<h4>Results</h4>";
  echo "<p>Sorry, your search: &quot;" . $trimmed . "&quot; returned zero results</p>";

// google
 echo "<p><a href=\"http://www.google.com/search?q=" 
  . $trimmed . "\" target=\"_blank\" title=\"Look up 
  " . $trimmed . " on Google\">Click here</a> to try the 
  search on google</p>";
  }

// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }

// get results
  $query .= " limit $s,$limit";
  $result = mysql_query($query) or die("Couldn't execute query");

// display what the person searched for
echo "<p>You searched for: &quot;" . $var . "&quot;</p>";

// begin to show results set
echo "Results";
$count = 1 + $s ;

// now you can display the results returned
  while ($row= @mysql_fetch_object($result)) {
?>
			<div class="template_wrapper_index">

			<div class="template_top"></div>	

			<div class="template_middle">

			<strong>Title:</strong> <?=$row->title;?><br />

			<strong class="float_template">Preview: </strong><a href="viewtemplate.php?id=<?=$row->id;?>"><img src="<?=$row->previewe;?>" alt="Preview" width="185" height="126" border="0" /></a>

			<br />

			<strong>Demo: </strong><a href="frame.php?url=<?=$row->demo;?>" target="_blank">Click Here</a>

			<br />

			* Click on the preview image for more info
			</div>		
			<div class="template_bottom"></div>			

			</div>	
<?php
  $count++ ;
  }

$currPage = (($s/$limit) + 1);

//break before paging
  echo "<br />";

  // next we need to do the links to other results
  if ($s>=1) { // bypass PREV link if s is 0
  $prevs=($s-$limit);
  print "&nbsp;<a href=\"$PHP_SELF?s=$prevs&q=$var\">&lt;&lt; 
  Prev 10</a>&nbsp&nbsp;";
  }

// calculate number of pages needing links
  $pages=intval($numrows/$limit);

// $pages now contains int of pages needed unless there is a remainder from division

  if ($numrows%$limit) {
  // has remainder so add one page
  $pages++;
  }

// check to see if last page
  if (!((($s+$limit)/$limit)==$pages) && $pages!=1) {

  // not last page so give NEXT link
  $news=$s+$limit;

  echo "&nbsp;<a href=\"search.php?s=$news&q=$var\">Next 10 &gt;&gt;</a>";
  }

$a = $s + ($limit) ;
  if ($a > $numrows) { $a = $numrows ; }
  $b = $s + 1 ;
  echo "<div style=\"clear:both\"></div>";
  echo "<p>Showing results $b to $a of $numrows</p>";
  
?>


Ik krijg geen PHP foutmeldingen.

Alvast bedank,
Jelle
Je roept $s aan, en daarvoor doe je dit


// next determine if s has been passed to script, if not use 0
  if (empty($s)) {
  $s=0;
  }
// get results
  $query .= " limit $s,$limit";


Alleen boven de functie if(empty($s)) { staat $s helemaal niet.
PS: ruim je quotes en alles even op, je gebruikt alles door elkaar echo "<a href=\"$PHP_SELF enz... $var\""; niet bepaald netjes ;-)

Reageren