2009-11-21 70 views
-1

谁能帮我这个代码吗?下一个和以前的链接不工作寻呼下一个和以前的链接不工作!

$limit=20; 
mysql_connect("localhost","root",""); 
mysql_select_db("autoschool") or die("Unable to select database"); 
$query = "select * from student"; 
$numresults=mysql_query($query); 
$numrows=mysql_num_rows($numresults); 
if ($numrows == 0) 
{ 
echo "empty"; 
} 
if (empty($s)) { 
$s=0; 
} 
$query .= " limit $s,$limit"; 
$result = mysql_query($query) or die("Couldn't execute query"); 
$count = 1 + $s ; 
while ($row= mysql_fetch_array($result)) { 
$title = $row["id"]; 
echo "$count.)$title"." 
" ; 
$count++ ; 
} 
$currPage = (($s/$limit) + 1); 
echo " 
"; 
if ($s>=1) { // bypass PREV link if s is 0 
$prevs=($s-$limit); 
print " << 
Prev 10&nbsp "; 
} 
$pages=intval($numrows/$limit); 
if ($numrows%$limit) { 
$pages++; 
} 
if (!((($s+$limit)/$limit)==$pages) && $pages!=1) { 
$news=$s+$limit; 
echo " Next 20 >>"; 
} 
$a = $s + ($limit) ; 
if ($a > $numrows) { $a = $numrows ; } 
$b = $s + 1 ; 
echo " 
Showing results $b to $a of $numrows 
"; 
+0

在行之前4个空格使其显示格式正确。 – scragar 2009-11-21 12:52:32

+0

代码不清楚。 echo语句中有一些不恰当的字符。也许这就是为什么这些链接不起作用。 – pavium 2009-11-21 12:54:09

回答

0

你的“未来20”和“上一个10”仅仅是文本显示。他们不是开始的链接。更多的是你无法处理输入。看起来你的例子不完整。

1

OMG,从哪里开始?

首先,您在开始时没有处理$s,所以LIMIT声明总是0,20

尝试类似:

if (isset ($_GET['page'])){ 
    $s=round($_GET['page']; 
    if($s<0) { 
    $s=0; 
    } 
} 
else { 
    $s=0; 
} 

... 

$query .= " LIMIT ".($s*$limit).",$limit"; 

然后你需要添加链接的前面和后面的文字:

if ($s>0) { // bypass PREV link if s is 0 
    echo '<a href="myscript.php?page='.($s-1).'">Prev </a>'; 
} 

... 


    echo echo '<a href="myscript.php?page='.($s+1).'">Next </a>'; 

... 

说实话,我会从头开始,如果我是你,代码非常混乱。编写伪代码先计划逻辑,然后编写代码。