当我上下页(从指数.php到指数.php?page=2),则文字忘记了搜索关键词“,例如国家=US
,并在下页的缺省选项(country=)
上显示。 接着,我还试图补充(WHEREcountry
=“.mysql_real_e爱因_string($_GET[ country]
>),但我认为,这一行文不做以下工作:
foreach($_POST as $key => $value)
{
$clean[$key] = mysql_real_escape_string(trim($value));
}
$name=$clean[ name ];
$country=$clean[ country ];
$ip=$clean[ ip ];
$map=$clean[ map ];
$o="AND";
Sorry for the mess in the script, because I have collected it from the parts what I have found in the web and etc. So I still don t have enough skills to find out whats wrong. Thanks for any suggestion.
<?
include("conf.php");
foreach($_POST as $key => $value)
{
$clean[$key] = mysql_real_escape_string(trim($value));
}
$name=$clean[ name ];
$country=$clean[ country ];
$ip=$clean[ ip ];
$map=$clean[ map ];
$o="AND";
$rest="";
$text="Keywords : ";
if($name!="")
{
if($rest=="")
{
$rest.=" where name like %$name% ";
$text.="Name like $name ";
}
else {
$rest.="$o where fname like %$name% or mname like %$name% or lname like %$name% ";
$text.="Name like $name ";
}
}
if($country!="")
{
if($rest=="")
{
$rest.="where country= $country ";
$text.="Country = $country";
}
else
{
$rest.=" $o country= $country ";
$text.=", Country = $country";
}
}
if($ip!="")
{
if($rest=="")
{
$rest.="where ip = $ip ";
$text.="Ip Address = $ip ";
}
else
{
$rest.=" $o ip = $ip ";
$text.=", Ip Address = $ip ";
}
}
if($port!="")
{
if($rest=="")
{
$rest.="where port = $port ";
$text.="Port = $port ";
}
else
{
$rest.=" $o port = $port ";
$text.=", Port = $port ";
}
}
if($map!="")
{
if($rest=="")
{
$rest.="where map = $map ";
$text.="Map = $map";
}
else
{
$rest.=" $o map = $map ";
$text.=", Map = $map";
}
}
if($rest!="")
{
$rest=$rest;
}
else
{
//die("Enter Search Parameter<br><br><br><br><br><br><br><br><br><br><br>");
}
$sql="select $search.* from $search $rest order by id";
$result=mysql_query($sql,$connection) or die(mysql_error());
$num=mysql_num_rows($result);
$adjacents = 3;
$limit = 10;
$query = "SELECT COUNT(*) as num FROM $search";
$total_pages = mysql_fetch_array(mysql_query($query));
$total_pages = $num;
/* Setup vars for query. */
$targetpage = "index.php"; //your file name (the name of this file)
//how many items to show per page
$page = $_GET[ page ];
if($page)
$start = ($page - 1) * $limit; //first item to display on this page
else
$start = 0; //if no page var is given, set start to 0
/* Get data. */
$sql = "select $search.* from $search $rest order by id LIMIT $start, $limit";
$result = mysql_query($sql);
/* Setup page vars for display. */
if ($page == 0) $page = 1; //if no page var is given, default to 1.
$prev = $page - 1; //previous page is page - 1
$next = $page + 1; //next page is page + 1
$lastpage = ceil($total_pages/$limit); //lastpage is = total pages / items per page, rounded up.
$lpm1 = $lastpage - 1;
/*
Now we apply our rules and draw the pagination object.
We re actually saving the code to a variable in case we want to draw it more than once.
*/
$pagination = "";
if($lastpage > 1)
{
$pagination .= "<div class="pagination">";
//previous button
if ($page > 1)
$pagination.= "<a href="$targetpage?page=$prev">« previous</a>";
else
$pagination.= "<span class="disabled">« previous</span>";
//pages
if ($lastpage < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
{
for ($counter = 1; $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class="current">$counter</span>";
else
$pagination.= "<a href="$targetpage?page=$counter">$counter</a>";
}
}
elseif($lastpage > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if($page < 1 + ($adjacents * 2))
{
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($counter == $page)
$pagination.= "<span class="current">$counter</span>";
else
$pagination.= "<a href="$targetpage?page=$counter">$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href="$targetpage?page=$lpm1">$lpm1</a>";
$pagination.= "<a href="$targetpage?page=$lastpage">$lastpage</a>";
}
//in middle; hide some front and some back
elseif($lastpage - ($adjacents * 2) > $page && $page > ($adjacents * 2))
{
$pagination.= "<a href="$targetpage?page=1">1</a>";
$pagination.= "<a href="$targetpage?page=2">2</a>";
$pagination.= "...";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++)
{
if ($counter == $page)
$pagination.= "<span class="current">$counter</span>";
else
$pagination.= "<a href="$targetpage?page=$counter">$counter</a>";
}
$pagination.= "...";
$pagination.= "<a href="$targetpage?page=$lpm1">$lpm1</a>";
$pagination.= "<a href="$targetpage?page=$lastpage">$lastpage</a>";
}
//close to end; only hide early pages
else
{
$pagination.= "<a href="$targetpage?page=1">1</a>";
$pagination.= "<a href="$targetpage?page=2">2</a>";
$pagination.= "...";
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++)
{
if ($counter == $page)
$pagination.= "<span class="current">$counter</span>";
else
$pagination.= "<a href="$targetpage?page=$counter">$counter</a>";
}
}
}
//next button
if ($page < $counter - 1)
$pagination.= "<a href="$targetpage?page=$next">next »</a>";
else
$pagination.= "<span class="disabled">next »</span>";
$pagination.= "</div>
";
}
echo "<div align=left>$text</div>";
echo "<table align=center>
<div align=left><tr>
<td>Records Found: $num
<td>
</tr>
<tr>
</div>";
$counter=0;
while($row=mysql_fetch_array($result))
{