2010-11-13 117 views
0

由于没有其他主题使用我使用的脚本,我需要认真的帮助。我目前正在研究一个工作项目,而我的搜索功能正确地返回了第一页,但是当我点击Next 10时,它完全没有任何作用! 请注意我删除了一些代码,但留下了无用的评论,尽管这不会影响脚本的性能! 这里是我的代码,但ofcourse我已筛选的用户名和密码: <PHP搜索脚本不会正确返回页面

<?php 

    // Get the search variable from URL 

    $var = @$_GET['q'] ; 
    $error = $_GET['error']; 
    $permnull = @$_GET['nullpermitted'] ; 
    $AdminorSuper = ""; 
    $trimmed = trim($var); //trim whitespace from the stored variable 


if(!$session->isSuperuser()){ 
$AdminorSuper = "Admin"; 
} 

else 
{ 
$AdminorSuper = ""; 
} 
// rows to return 
$limit=10; 

if($error=="errdel") 
{ 
echo "<p>Only Admins and Superusers may delete customers. </p>"; 
} 
if($error=="errcret") 
{ 
echo "<p>Only Admins and Superusers may create customers. </p>"; 
} 
// check for a search parameter 
if (!isset($var)) 
    { 
    echo "<p>We dont seem to have a search parameter!</p>"; 
    exit; 
    } 

//connect to your database ** EDIT REQUIRED HERE ** 
mysql_connect("*FILTERED*","*FILTERED*","*FILTERED*"); //(host, username, password) 


mysql_select_db("*FILTERED*") or die("Unable to select database"); 

// Build SQL Query 
$query = "select * from customer where Surname OR TitleName OR PostCode like \"%$trimmed%\" 
    order by Surname"; 

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



if ($numrows == 0) 
    { 
    if($trimmed=="") 
    { 
    echo "No customers are in the database!"; 
    } 
    else 
    { 
    echo "<h2>Results</h2>"; 
    echo "<p>Sorry! No Results were found for: &quot;" . $trimmed . "&quot;.</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 
if($var=="") 
{ 
echo "<p>Viewing all Results</p>"; 
} 
else 
{ 
echo "<p>Results for: &quot;" . $var . "&quot;</p>"; 
} 
// begin to show results set 
echo ""; 
$count = 1 + $s ; 

// now you can display the results returned 
    echo '<table border="1">'; 
    echo "<tr><td><b>Surname</b></td><td><b>Title/Name</b></td><td><b>Email</b></td><td><b>Telephone</b></td><td><b>Edit</b></td><td><b>Del</b></td></tr>\n"; 
    while ($row= mysql_fetch_array($result)) { 
    $Surname = $row["Surname"]; 
    $Title = $row["TitleName"]; 
    $Email = $row["Email"]; 
    $Telephone = $row["Telephone"]; 
    $id = $row["id"]; 
    echo '<tr><td>' .$Surname.'</td><td>'.$Title.'</td><td>'.$Email.'</td><td>'.$Telephone.'</td><td>' . '<a href="updateCustomerForm' . $AdminorSuper. '.php?id='.$id.'">[EDIT]</a></td>'.'<td>'. '<a href="deleteCustomer.php?id='.$id.'">[x]</a></td>'. '</tr>'; 
    $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++; 
    } 
echo "</table>"; 
// 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=\"$PHP_SELF?s=$news&q=$var\">Next 10 &gt;&gt;</a>"; 
    } 

$a = $s + ($limit) ; 
    if ($a > $numrows) { $a = $numrows ; } 
    $b = $s + 1 ; 
    echo "<p>Showing results $b to $a of $numrows</p>"; 

?> 

回答

2

似乎缺少代码$s=$_GET['s'];

好运:)

+0

OMG!谢谢!我以为我把它定义得更高了!你的答案已经奏效,我衷心感谢你! – PwnageAtPwn 2010-11-13 17:46:37

+0

不客气。 – Mohammad 2010-11-13 17:49:30