PHPとMysqlのページ分割表示について
以前こちらで質問させて頂きまして
htmlの検索フォームから入力した情報をデータベースから引っ張ってきて
表示するまでは出来たのですが、表示制限を10個にして、次のページ、前のページと移動させるようなシステムにしたいのですが、うまくいきません(エラーが出てしまいます)
どうか、お力をお貸し願えないでしょうか。
search.html
<html>
<head><title>検索</title></head>
<body>
<form action="/search/"method="post">
/*page_numを入れた*/
<input type="hidden" name="page_num" value="0">
<li>会社名</li>
<li><input type="text"name="name"></li>
<li>電話番号</li>
<input type="text"name="phone" maxlength="11">
<input type="submit" name="submit" value="検索">
</body>
</html>
index.php(データベースから情報を引っ張り出す)
<?php
$host="localhost";
if(!$conn=mysql_connect($host,"usr","passwd")){
die("データベース認証エラー.<br />");
}
mysql_select_db("usr",$conn);
$condition="";
if(isset($_POST["name"])&&($_POST["name"]!="")){
$name=mysql_real_escape_string($_POST["name"]);
$name=str_replace("%","\%",$name);
$condition="WHERE name LIKE \"%".$name."%\"";
}
if(isset($_POST["phone"])&&($_POST['phone']!="")){
$phone=mysql_real_escape_string($_POST["phone"]);
$phone=str_replace("%","\%",$phone);
if($condition==""){
$condition="WHERE phone LIKE \"%".$phone."%\"";
}else{
$condition.="AND phone LIKE \"%".$phone."%\"";
}
}
$tmp=$page_num*10;
$sql="SELECT * FROM table".$condition."ORDER BY id limit".$tmp.",10";
while($row=mysql_fetch_array($res)){
print("<table border=\"1\">");
print("<tr><td>会社名</td><td>電話番号</td></tr>");
print("<tr>");
print("<td>".$row['name']."</td>");
print("<td>".$row['phone']."</td>");
print("</tr>");
print("</table>");
}
$cnt=$row[0];
//ページ表示
if(!$cnt>10){
echo ceil($cnt/10), "ページの中の",$page_num+1,"ページ目を表示<br>";
}
//前の10件
if ($page_num!=0){
echo "<a href=index.php?name=",$name,".$page_num -1.">";
echo "<</a>;
echo "前の10件";
}
//次の10件
if (($page_num+1)*10<$cnt){
echo "<a href=index.php?name=",$name,".$page_num +1.">";
echo "次の10件";
echo "&g</a>t";
}
mysql_free_result($res);
//データベースから切断
mysql_close($conn);
?>
ちなみにエラーが出ている行はここの
//前の10件
if ($page_num!=0){
echo "<a href=index.php?name=",$name,".$page_num -1.">";
echo "<</a>;
echo "前の10件";
}
>>echo "<</a>;
この部分がエラーになっています。
お礼
ありがとうございます。 お礼が遅くなり申し訳ありません。 mb_convert_kanaの処理と、urlencodeの処理はしているのですが、ソースをもう一度確認してみます。