2009-11-21 3 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

+0

Код не ясен. В выражениях эха есть некоторые неприемлемые символы. Возможно, поэтому ссылки не работают. – pavium

ответ

0

Ваш «следующие 20» и «Prev 10» это просто текст на экране. Они не являются ссылками для начала. Более того, у вас нет способа обработки ввода. Кажется, ваш пример неполный.

1

OMG, с чего начать?

Во-первых, вы не обрабатываете $s в начале, поэтому оператор LIMIT всегда будет 0,20.

Try что-то вроде:

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>'; 

... 

Чтобы быть честным, я бы снова начать с нуля, если бы я был ты, код очень грязный. Напишите псевдокод, чтобы сначала спланировать логику, затем код.