이 페이지 번호 코드가 있는데 &pagenum=whatever
은 내 URL에 완벽하게 표시되지만 실제로는 아무 것도 아니며 그 이유를 모르겠습니다. 여기 내 코드입니다 :왜 내 페이지 매김 코드가 작동하지 않습니까?
paginate.php :
<?php
include("config.php");
if (!(isset($pagenum)))
{
$pagenum = 1;
}
$data = mysql_query("SELECT * FROM shop
WHERE MATCH (name,description,keywords) AGAINST ('$search' IN BOOLEAN MODE)") or die(mysql_error());
$rows = mysql_num_rows($data);
$page_rows = 5;
$last = ceil($rows/$page_rows);
if ($pagenum < 1)
{
$pagenum = 1;
}
elseif ($pagenum > $last)
{
$pagenum = $last;
}
$max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows;
?>
search.php : 솔직히 난처한 해요
<?php
include("config.php");
$search = mysql_real_escape_string($_GET['result']);
?>
<HTML>
<HEAD>
</HEAD>
<BODY>
<div id="wrapper">
<div class="searchleft">
</div>
<div class="search">
<center>
<form method="get" action="search.php">
<input type="text" name="result" value="<?php echo $search; ?>" />
<input type="submit" />
</form>
<?php
include("paginate.php");
$data_p = mysql_query("SELECT * FROM shop
WHERE MATCH (name,description,keywords) AGAINST ('$search' IN BOOLEAN MODE) $max") or die(mysql_error());
$num_rows = mysql_num_rows($data_p);
if ($num_rows == "1") {
echo "Returned 1 result.";
} else { echo "Returned ".$num_rows." results."; }
while ($info = mysql_fetch_assoc($data_p)) {
$name = stripslashes($info['name']);
$desc = stripslashes($info['description']);
$desc = substr($desc, 0, 150);
$price = stripslashes($info['price']);
Print "<div style=\"width:600px; height:150px; border:1px solid black; overflow:hidden\"><div style=\"height:148px; width:25%; border:1px solid red; float:left\"><center><img src=\"".$picture."\" height=\"120\" width=\"120\" style=\"margin-top:15px\" /></center></div><div style=\"height:150px; width:50%; border:1px solid blue; float:left; text-overflow: ellipsis; padding-top:5px\"><center><font size=\"+1\"><b><a href=\"result.php?product=".urlencode($name)."\">".$name."</b></a></font><br><br>".$desc."...</center></div><div style=\"height:150px; width:24%; border:1px solid green; float:left\"><center><h1>$".$price."</h1><button>Add to Cart</button></center></div></div>";
}
echo " --Page $pagenum of $last-- <p>";
if ($pagenum == 1)
{
}
else
{
echo " <a href='{$_SERVER['PHP_SELF']}?result=".$search."&pagenum=1'> First</a> ";
$previous = $pagenum-1;
echo " <a href='{$_SERVER['PHP_SELF']}?result=".$search."&pagenum=$previous'>Previous</a> ";
}
if ($pagenum == $last)
{
}
else {
$next = $pagenum+1;
echo " <a href='{$_SERVER['PHP_SELF']}?result=".$search."&pagenum=$next'>Next</a> ";
echo " ";
echo " <a href='{$_SERVER['PHP_SELF']}?result=".$search."&pagenum=$last'>Last</a> ";
}
?>
.
'$ pagenum '은 어디에 설정되어 있습니까? – JJJ
내가 생각하기에 paginate.php의 맨. 설정되어 있지 않으면 1로 설정됩니다. 이미 설정되어 있다면 – user2566387
으로 설정됩니다. 대신 $ _GET [ 'pagenum']'을 대신 사용하십시오. – JJJ