sayfalama sonraki ve önceki bağlantılar çalışmaz yok!

2 Cevap php

Herkes Bu kod ile bana yardımcı olabilir? sonraki ve önceki bağlantıları çalışmıyor

$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
";

2 Cevap

OMG, nerede başlar?

Öncelikle, $s başında LIMIT deyimi böylece olacaktır daima 0,20 işlem değil.

Böyle bir şey deneyin:

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

...

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

Sonra bağlantılar önceki ve sonraki metin eklemek gerekir:

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

...

Dürüst olmak gerekirse, ben sana olsaydı, kod çok dağınık tekrar sıfırdan başlamak istiyorum. Ilk, sonra kod mantığı planlamak için pseudo-kod yazın.

Sizin "sonraki 20" ve "son 10" sadece metin görüntüler vardır. Onlar ile başlayan bağlantılar değil. Dahası, girdi taşıma yolu yoktur. Bu örnek eksik görünür.