2015-10-26 3 views
3

Я хочу сделать разбиение на страницы в результатах поиска. У меня есть одна страница и есть две таблицы для поиска и вторая для результата.разбиение на страницы в результатах поиска

<form method="get"> 
<table align="center" border="1" cellpadding="10" cellspacing="10"> 
<tr> 
<td>Username</td> 
<td><input type="text" name="user"></td> 
</tr> 
<tr> 
<td colspan="2" align="center"> 
<input type="submit" name="search" value="search"> 
</td> 
</tr> 
</table> 
<table align="center" border="1" cellpadding="10" cellspacing="10"> 
<tr> 
<th>User</th> 
<th>Address</th> 
</tr> 
<?php 
while($ft=$pge->fetch_object()) 
{ 
?> 
<tr> 
<td><?php echo $ft->user ?></td> 
<td><?php echo $ft->address ?></td> 
</tr> 
<?php 
} 
?> 
</table> 
<center> 
<?php 
$totalrecords=$totalrecords/2; 
for($i=0;$i<$totalrecords;$i++) 
{ 
?> 
<a href="pagination.php?pgid=<?php echo $i ?>"><?php echo $i+1 ?></a> 
<?php 
} 
?> 
</center> 
</form> 

по умолчанию я применил пагинацию, но когда я хочу, чтобы найти информацию о пользователе путем поиска я также хочу сделать нумерацию страниц в результатах поиска. однако я еще не закончил.это мой код страницы.

require('connect.php'); 
$sel="select * from submit"; 
$ex=$cn->query($sel) or die($cn->error); 
//$ft=$ex->fetch_object(); 
$totalrecords=$ex->num_rows; 


if(isset($_REQUEST['pgid'])) 
{ 
    $pgid=$_REQUEST['pgid']; 
    $pgn=$pgid*2; 
    $pg="select * from submit limit $pgn,2"; 
    $pge=$cn->query($pg) or die($cn->error); 

} 
else 
{ 
    $pg="select * from submit limit 0,2"; 
    $pge=$cn->query($pg) or die($cn->error); 
} 

if(isset($_REQUEST['search'])) 
{ 
    $u=$_REQUEST['user']; 

    $searchquery="select * from submit where user like '%$u%'"; 
    $pge=$cn->query($searchquery) or die($cn->query); 

} 

ответ

1

Создание пользовательских MySQL запросов Попробуйте этот код: -

$pg="select * from submit where 1=1"; 
if(isset($_REQUEST['search'])) 
{ 
    $u=$_REQUEST['search']; 
    $pg.=" and user like '%$u%'"; 
} 
if(isset($_REQUEST['pgid'])) 
{ 
    $pgid=$_REQUEST['pgid']; 
    $pgn=$pgid*2; 
    $pg.=" limit $pgn,2"; 
} 
else 
{ 
    $pg.=" limit 0,2"; 
} 

$pge=$cn->query($pg) or die($cn->error); 
+0

он не работает, когда нажмите на кнопку поиска он синтаксических ошибки У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «user like»% a% «limit 0,2» в строке 1 – johny

+0

plz измените эту строку ** $ pg. = "и пользователь вроде '% $ u% '"; ** –

+0

i обновить код pls chk еще раз –

Смежные вопросы