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

코드가 명확하지 않습니다. echo 문에는 부적절한 문자가 있습니다. 아마도 이것이 링크가 작동하지 않는 이유입니다. – pavium

답변

0

귀하 "향후 20"와 "이전 10"을 작동하지 않습니다. 그들은 시작하는 링크가 아닙니다. 더 나아가 입력을 처리 할 방법이 없습니다. 귀하의 모범이 불완전한 것으로 보입니다.

1

OMG, 어디서부터 시작할까요?

먼저 $s을 처리하지 않으므로 LIMIT 문은 항상 0,20이됩니다.

시도 뭔가 같은 : 내가 당신이라면 나는 처음부터 다시 시작하는 것,

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

... 

는 솔직히 말해서 :

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

... 

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

는 그런 다음 링크를 이전 및 다음 텍스트를 추가 할 필요가 코드가 매우 엉망입니다. 논리를 먼저 계획하고 의사 코드를 작성하려면 의사 코드를 작성하십시오.

관련 문제