这是我的引擎,
求哪位高手可以告诉我怎么加才会有分页?<?php
include 'database.php';function search_results($search) {
$returned_results = array();
$where = "";
$search = preg_split('/[\s]+/', $search);
$total_keywords = count($search);
foreach($search as $key=>$keyword) {
$where .= " `keywords` LIKE '%$keyword%' ";
if ($key != ($total_keywords - 1)) {
$where .= " AND ";
}
}
$results = "SELECT `tittle`, `description`, `link` FROM `search` WHERE $where"; $results_num = ($results = mysql_query($results)) ? mysql_num_rows($results) : 0; if ($results_num === 0) {
return false;
} else { while ($results_row = mysql_fetch_assoc($results)) {
$returned_results[] = array(
'tittle' => $results_row['tittle'],
'description' => $results_row['description'],
'link' => $results_row['link']
);
}
return $returned_results;
}
}
?>
求哪位高手可以告诉我怎么加才会有分页?<?php
include 'database.php';function search_results($search) {
$returned_results = array();
$where = "";
$search = preg_split('/[\s]+/', $search);
$total_keywords = count($search);
foreach($search as $key=>$keyword) {
$where .= " `keywords` LIKE '%$keyword%' ";
if ($key != ($total_keywords - 1)) {
$where .= " AND ";
}
}
$results = "SELECT `tittle`, `description`, `link` FROM `search` WHERE $where"; $results_num = ($results = mysql_query($results)) ? mysql_num_rows($results) : 0; if ($results_num === 0) {
return false;
} else { while ($results_row = mysql_fetch_assoc($results)) {
$returned_results[] = array(
'tittle' => $results_row['tittle'],
'description' => $results_row['description'],
'link' => $results_row['link']
);
}
return $returned_results;
}
}
?>
$s/10 就可以当做第几页
可以给我|<< prev 1 2 3 4 5 6 7 8 9 10 next >>|好像这样的分页代码配合这引擎吗?
include 'database.php';function search_results($search) {
$returned_results = array();
$where = "";
$search = preg_split('/[\s]+/', $search);
$total_keywords = count($search);
foreach($search as $key=>$keyword) {
$where .= " `keywords` LIKE '%$keyword%' ";
if ($key != ($total_keywords - 1)) {
$where .= " AND ";
}
}
//唯一的改变就是下面
// $pageNum 这是分页,比如第 1,2,3页,这个值由url传递的GET参数确定,默认是1;
if( is_numeric( $_GET['pageNum'] ) && $_GET['pageNum'] >0 )
$pageNum = $_GET['pageNum'];
// $fooNum 表示截取数据从哪一行开始,这个是从0开始,就像数组一样所以还要减1;
// $listNum 表示一页显示多少数据,默认10行,你自己改
$listNum = 10;
$fooNum = ( ( $pageNum-1) * $listNum ) - 1;
$results = "SELECT `tittle`, `description`, `link` FROM `search` WHERE $where LIMIT $fooNum ,$listNum";
// 结束,再要输出分页HTML的话 $results_num = ($results = mysql_query($results)) ? mysql_num_rows($results) : 0; if ($results_num === 0) {
return false;
} else { while ($results_row = mysql_fetch_assoc($results)) {
$returned_results[] = array(
'tittle' => $results_row['tittle'],
'description' => $results_row['description'],
'link' => $results_row['link']
);
}
return $returned_results;
}
}
?>
// 没看到你要在哪开始输出,url路径你要自己改
<?php
$prew = $pageNum>1 ? $pageNum-1 : 1;echo <<<html
<a href="search.php?pageNum={$prew}">next</a>
html; for ($i = 1; $i>10; $i++ )
{
echo <<<html
<a href="search.php?pageNum={$i}">$i</a>
html;
}
$next = $pageNum + 1;echo <<<html
<a href="search.php?pageNum={$next}">next</a>
html;?>
下面就是我的显示主页
<?php include 'function.php'; ?>
<form id="form1" name="form1" method="post" action="">
<label for="textfield"></label>
<input type="text" name="keywords" id="keywords" value="<?php echo $_POST['keywords']; ?>" />
<label for="Submit"></label>
<input type="submit" name="Submit" value="Search" id="Search" />
</form>
<?php
if (isset($_POST['keywords'])) {
$suffix = "";
$search = mysql_real_escape_string(htmlentities(trim($_POST['keywords'])));
$errors = array();
if (empty($search)){
$results[] = 'Please Type Your Search Words!';
} else if (strlen($search)<0) {
$errors[] = 'Your Word Minimun 1 Characters!';
} else if (search_results($search) === false) {
$errors[] = 'Your search for <b>'.$search.'</b> no results';
} if (empty($errors)) {
$results = search_results($search);
$results_num = count($results);
$suffix = ($results_num !=1) ? 's' : '';
echo '<p>Your search for <strong>', $search, '</strong> returned <strong>', $results_num, '</strong> result', $suffix, '</p>';
?>
<?php
$prew = $pageNum>1 ? $pageNum-1 : 1;echo <<<html
<a href="search.php?pageNum={$prew}">next</a>
html; for ($i = 1; $i>10; $i++ )
{
echo <<<html
<a href="search.php?pageNum={$i}">$i</a>
html;
}
$next = $pageNum + 1;echo <<<html
<a href="search.php?pageNum={$next}">next</a>
html;
foreach($results as $result) {
echo '<p> <strong>', $result['tittle'], '</strong> <br /> ', $result['description'], '... <br /> <a href="', $result['link'], '">', $result['link'], '</a> </p>';
} } else {
foreach($errors as $error) {
echo $error, '</br>';
}
}
}
?>
<a href="search.php?pageNum={$next}">next</a>
html;
foreach($results as $result) {
echo '<p> <strong>'. $result['tittle']. '</strong> <br /> '. $result['description']. '... <br /> <a href="'.$result['link']. '">'. $result['link']. '</a> </p>';
} } else {
foreach($errors as $error) {
echo $error.'</br>';
}
}
}
?>
连接符号是.号,你的为什么都是逗号?
这是主页
<?php include 'function.php'; ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>search engine</title>
</head><body><form id="form1" name="form1" method="post" action="">
<label for="textfield"></label>
<input type="text" name="keywords" id="keywords" value="<?php echo $_POST['keywords']; ?>" />
<label for="Submit"></label>
<input type="submit" name="Submit" value="Search" id="Search" />
</form><?php
if (isset($_POST['keywords'])) {
$suffix = "";
$search = mysql_real_escape_string(htmlentities(trim($_POST['keywords'])));
$errors = array();
if (empty($search)){
$results[] = 'Please Type Your Search Words!';
} else if (strlen($search)<0) {
$errors[] = 'Your Word Minimun 1 Characters!';
} else if (search_results($search) === false) {
$errors[] = 'Your search for <b>'.$search.'</b> no results';
} if (empty($errors)) {
$results = search_results($search);
$results_num = count($results);
$suffix = ($results_num !=1) ? 's' : '';
echo '<p>Your search for <strong>', $search, '</strong> returned <strong>', $results_num, '</strong> result', $suffix, '</p>';
?>
<?php
$prew = $pageNum>1 ? $pageNum-1 : 1;echo <<<html
<a href="search.php?pageNum={$prew}">next</a>
html; for ($i = 1; $i>10; $i++ )
{
echo <<<html
<a href="search.php?pageNum={$i}">$i</a>
html;
}
$next = $pageNum + 1;echo <<<html
<a href="search.php?pageNum={$next}">next</a>
html;
foreach($results as $result) {
echo '<p> <strong>'. $result['tittle']. '</strong> <br /> '. $result['description']. '... <br /> <a href="'.$result['link']. '">'. $result['link']. '</a> </p>';
} } else {
foreach($errors as $error) {
echo $error.'</br>';
}
}
}
?></body>
</html>
这是我刚试过的引擎!
<?php
include 'database.php';function search_results($search) {
$returned_results = array();
$where = "";
$search = preg_split('/[\s]+/', $search);
$total_keywords = count($search);
foreach($search as $key=>$keyword) {
$where .= " `keywords` LIKE '%$keyword%' ";
if ($key != ($total_keywords - 1)) {
$where .= " AND ";
}
}
if( is_numeric( $_GET['pageNum'] ) && $_GET['pageNum'] >0 )
$pageNum = $_GET['pageNum'];
$listNum = 10;
$fooNum = ( ( $pageNum-1) * $listNum ) - 1;
$results = "SELECT `tittle`, `description`, `link` FROM `search` WHERE $where LIMIT $fooNum ,$listNum"; $results_num = ($results = mysql_query($results)) ? mysql_num_rows($results) : 0; if ($results_num === 0) {
return false;
} else { while ($results_row = mysql_fetch_assoc($results)) {
$returned_results[] = array(
'tittle' => $results_row['tittle'],
'description' => $results_row['description'],
'link' => $results_row['link']
);
}
return $returned_results;
}
}
?>
有哪位大大知道什么方法可以帮帮忙解决问题?
$returned_results[] = array(
'tittle' => $results_row['tittle'],
'description' => $results_row['description'],
'link' => $results_row['link']
);
}
return $returned_results;
}
return $returned_results; 改成直接输出 echo $returned_results 再看看
也可能句法正确但没匹配到数据,慢慢调试吧你才入门三天就能这样很了不起了
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-11 ,10' at line 1
要怎么办呢?
另: 谢谢 你能这么指导我!
请在 function.php那修改下代码
if( is_numeric( $_GET['pageNum'] ) && $_GET['pageNum'] >0 )
$pageNum = $_GET['pageNum'];
else
$pageNum = 1;
$listNum = 10;
$fooNum = ( ( $pageNum-1) * $listNum ) - 1;
$pageNum = $_GET['pageNum'];
else
$pageNum = 1;
$listNum = 10;
$fooNum = ( ( $pageNum-1) * $listNum ) - 1;csdn的过滤不专业啊
我把你的贴的代码粘贴到eclipse上看了下,我用的定界符输出形式
请确保所有 html; 后面不允许有任何字符包括空格
再就没有发现什么错误,只能说有php的错误提示才能给你参谋
请把这行代码粘贴到你的页面最顶端
ini_set('display_errors','On'); error_reporting(E_ALL); 程序能执行下去,就说明不是说明大问题,很轻松就可以解决
<?phpclass mysql
{
function __construct()
{
$this->conn = mysql_connect("主机","用户","密码");
$this->query("SET NAMES 'UTF8'");
}
function query($sqlstr)
{
return mysql_query($sqlstr,$this->conn);
}
function select($sqlstr)
{
$query = $this->query($sqlstr);
while($row = mysql_fetch_array($query,1))
{
$rows[] = $row;
}
return $rows;
}
function __destruct()
{
mysql_close($this->conn);
}
}$db = new mysql();$numResult = $db->select("SELECT COUNT(*) AS num FROM 表");
$allNum = $numResult[0]['num'];
$pageNum= 10;
$pageAll= ceil($allNum/$pageNum);
$pageNow= $_GET['page'] ? $_GET['page'] : 0;
for($i=0;$i<$pageAll;$i++){
echo '第'.$i.'页';
}$dataResult = $db->select("SELECT * FROM 表 WHERE 条件 LINIT $pageNow,$pageNum");
foreach($dataResult as $result)
{
echo $result['字段'];
}?>参考一下