从mysql数据库进行php搜索,只显示一个页面
下面的脚本仅显示第一页,并且有指向下一页的链接,但没有任何前导。有人能帮我吗从mysql数据库进行php搜索,只显示一个页面,php,mysql,Php,Mysql,下面的脚本仅显示第一页,并且有指向下一页的链接,但没有任何前导。有人能帮我吗 $var = @$_GET['q'] ; $trimmed = trim($var); $limit = 10; if ($trimmed == "") { echo "<p>What are you looking for?...</p>"; exit; } if (!isset($var)) { echo "<p>We dont seem to
$var = @$_GET['q'] ;
$trimmed = trim($var);
$limit = 10;
if ($trimmed == "")
{
echo "<p>What are you looking for?...</p>";
exit;
}
if (!isset($var))
{
echo "<p>We dont seem to have a search parameter!</p>";
exit;
}
mysql_connect('xxx', 'yyy', 'zzz');
mysql_select_db('yyy') or die('Unable to select database');
$query = "select * from table where NAME like '%$trimmed%' order by NAME";
$numresults = mysql_query($query);
$numrows = mysql_num_rows($numresults);
if ($numrows == 0)
{
echo "<h4>Results</h4>";
echo "<p>Sorry, your search: "" . $trimmed . "" returned zero results</p>";
echo "<p><a href=\"http://www.google.com/search?q="
. $trimmed . "\" target=\"_blank\" title=\"Look up
" . $trimmed . " on Google\">Click here</a> to try the search on google</p>";
}
if (empty($s))
{
$s = 0;
}
$query .= " limit $s,$limit";
$result = mysql_query($query) or die("Couldn't execute query");
echo "<p>You searched for: "" . $var . ""</p>";
echo "Results";
$count = 1 + $s;
while ($row= mysql_fetch_array($result))
{
$title = $row["NAME"];
echo "$count.- $title" ;
$count++ ;
}
$currPage = (($s/$limit) + 1);
echo "<br />";
if ($s >= 1)
{
// bypass PREV link if s is 0
$prevs = ($s - $limit);
print " <a href=\"$PHP_SELF?s=$prevs&q=$var\"><<
Prev 10</a> ";
}
$pages = intval($numrows/$limit);
if ($numrows % $limit)
{
$pages++;
}
if (!((($s+$limit)/$limit) == $pages) && $pages != 1)
{
$news = $s + $limit;
print "<a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 >></a>";
}
$a = $s + ($limit);
if ($a > $numrows)
{
$a = $numrows;
}
$b = $s + 1;
echo "<p>Showing results $b to $a of $numrows</p>";
$var=@$\u GET['q'];
$trim=trim($var);
$limit=10;
如果($trimmed==“”)
{
echo“你在找什么?…”;
出口
}
如果(!isset($var))
{
echo“我们似乎没有搜索参数!”;
出口
}
mysql_connect('xxx','yyy','zzz');
mysql_select_db('yyy')或die('无法选择数据库');
$query=“从名称为“%$TRIMED%”的表中选择*”;
$numresults=mysql\u查询($query);
$numrows=mysql\u num\u行($numresults);
如果($numrows==0)
{
回应“结果”;
echo“对不起,您的搜索:”.$trimmed.“返回零结果””;
echo“在谷歌上尝试搜索”;
}
如果(空($s))
{
$s=0;
}
$query.=“限制$s,$limit”;
$result=mysql_query($query)或die(“无法执行查询”);
echo“您搜索的:”.$var“”;
回应“结果”;
$count=1+$s;
while($row=mysql\u fetch\u数组($result))
{
$title=$row[“NAME”];
回显“$count.-$title”;
$count++;
}
$currPage=($s/$limit)+1);
回声“
”;
如果($s>=1)
{
//如果s为0,则绕过上一个链接
$prevs=($s-$limit);
打印“”;
}
$pages=intval($numrows/$limit);
如果($numrows%$limit)
{
$pages++;
}
如果(!(($s+$limit)/$limit)=$pages&&$pages!=1)
{
$news=$s+$limit;
打印“”;
}
$a=$s+($limit);
如果($a>$numrows)
{
$a=$numrows;
}
$b=$s+1;
echo“显示$numrows的$b到$a结果”;
PHP\u SELF
是一个$\u服务器
变量。无论如何,您应该在此处使用$\u服务器['SCRIPT\u NAME']
echo "<a href=\"{$_SERVER['SCRIPT_NAME']}?s=$news&q=$var\">Next 10 >></a>";
echo”“;
在一些值得注意的改进中,您应该真正考虑使用
urlencode()
清理放入查询字符串中的变量。$\u服务器变量。无论如何,您应该在此处使用$\u服务器['SCRIPT\u NAME']
echo "<a href=\"{$_SERVER['SCRIPT_NAME']}?s=$news&q=$var\">Next 10 >></a>";
echo”“;
在一些值得注意的改进中,您应该真正考虑使用urlencode()
清理放入查询字符串中的变量。在您的代码中,$s
在每次重新加载页面或单击下一个页面链接时都会被重置。在代码的开头应该有$s=$\u REQUEST['s']
在您的代码中,$s
会在每次重新加载页面或单击下一页链接时重置。在代码的开头应该有$s=$\u REQUEST['s']
您的分页方法非常主要。尝试构建类和函数。此外,此代码容易受到SQL注入攻击。请参阅。@GarrettAlbright如果启用了magic\u quotes
,则不会启用。主机上是否启用了magic\u quotes?如果他们禁用它呢?如果您决定移动到另一台主机,却忘记检查是否已启用该主机,该怎么办?当你自己确保代码的安全并不是那么困难时,你可能无法控制神奇的配置来保证代码的安全,这是很愚蠢的。你的分页方法是非常主要的。尝试构建类和函数。此外,此代码容易受到SQL注入攻击。请参阅。@GarrettAlbright如果启用了magic\u quotes
,则不会启用。主机上是否启用了magic\u quotes?如果他们禁用它呢?如果您决定移动到另一台主机,却忘记检查是否已启用该主机,该怎么办?当你自己确保代码的安全并不是那么困难时,你可能无法控制神奇的配置来保证代码的安全,这简直是胡说八道。