|
|
|
| Здравствуйте!
Пмогите пожалуйста =)
Когда я вывожу результаты поиска постранично, то получилось так, что сначала отображается все правильно, но после того когда я нажимаю на следующую страницу, т.е. происходит get-запрос (?page=...), то выводятся все ресултаты вообще. При повторном запросе теряется искомая строка.
PLZ!!
<form name="search_form" method="GET" action=<?php echo $_SERVER['PHP_SELF']; ?>>
<table cellpadding="2" cellspacing="4" bordercolordark="black" bordercolorlight="black">
<tr>
<td width="965" valign="top" align="center"><input type="text" name="search"></td>
</tr>
<tr>
<td width="965" valign="top" align="center"><input type="submit" value=OK name=go></td>
</tr>
</table>
</form>
<?php
include "conn.php";
$is_query = false;
$lines_per_page = 3; //kol-vo strok na str
$sname='';
//$search='';
if(isset($_GET['search'])) {
$_SESSION['search'] = $_GET['search'];
$sname = $_SESSION['search'];
}
if(!empty($_GET['go']))
{
$sname = $_GET['search'] ;
}
//vsego zapiseyi
$query = "SELECT * FROM $tablename WHERE name LIKE '%$sname%' ";
$result = mysql_query($query);
$all_lines = mysql_num_rows($result);
//proveryaem ustanovlen li nomer str
if (!isset($page) or empty($page) or $page<=0) $page=1;
else $page=(int)$page;
$page_for_query = $page-1;
//s kakoy pozicii schitivat' zapisi
$lpos = $page_for_query * $lines_per_page;
//zapros
$query = "SELECT * FROM $tablename WHERE name LIKE '%$sname%' ORDER BY name ASC LIMIT $lpos,$lines_per_page";
$result = @mysql_query($query) or die("$query <b>failed!</b><br>".mysql_error());
$count_pages = ceil($all_lines / $lines_per_page);
echo "<table><tr><td colspan=8 align=left>";
if ($count_pages>1) {
for ($i=1; $i<=$count_pages; $i++) {
if($page==$i and $i!=1) {echo " | <b><font style=color:#000000;<>$i</font>";}
elseif ($page==$i and $i==1) {echo "1";}
elseif($i==1 and $page!=$i) {echo " <a href=\"$PHP_SELF?page=$i\" >$i</a>";}
elseif($i!=1 and $page!=$i) {echo " | <a href=\"$PHP_SELF?page=$i\" >$i</a></b>";}
}
}
echo "</td></tr></table>";
WHILE ($row = MYSQL_FETCH_ROW($result))
$number = mysql_num_rows($result);
if (!$number);
/* Print the relevant information */
$i = 0;
PRINT "<hr>";
WHILE ($i < $number):
$j = $i + 1 + ($page -1)*$lines_per_page;
$name = mysql_result($result,$i,"name");
$url = mysql_result($result,$i,"url");
$size = mysql_result($result,$i,"size");
$date = mysql_result($result,$i,"date");
$cat = mysql_result($result,$i,"cat1");
$dl = mysql_result($result, $i,"dl");
$id = mysql_result($result,$i,"id");
if ($i%2 == 0) {
PRINT "<tr bgcolor=#E8E8E8>
<!-- <td>$j</td>-->
<td><a href=$url>$name</a></td>
<td>$size</td>
<td>$dl</td>
</tr><br>
";
} else {
PRINT "<tr bgcolor=#cccccc>
<!--<td>$j</td> -->
<td><a href=$url>$name</a></td>
<td>$size</td>
<td>$dl</td>
</tr><br>";
}
$i++;
ENDWHILE;
PRINT "</table></td></tr>";
/* Close the database connection */
MYSQL_CLOSE();
?>
|
| |
|
|
|
|
|
|
|
для: JESS
(26.07.2007 в 22:42)
| | формируя ссылки постраничной навигации, Вам следует передавать в них не только номер нужной страницы, но и ВСЕ параметры фильтра поиска. И учитывать их при обработке запроса постранички. | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 03:08)
| | Будте добры обясните по подробее, что то с сесиями да? | |
|
|
|
|
|
|
|
для: JESS
(27.07.2007 в 03:34)
| | Нет, никакие сессии здесь здесь не при чем.
Что именно непонятно? | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 03:08)
| | я на словах понимаю что вы имеете ввиду, а наглянд о даже не имею представления, =) | |
|
|
|
|
|
|
|
для: JESS
(27.07.2007 в 09:51)
| | Теперь уже я не понимаю Вас.
>я на словах понимаю что вы имеете ввиду, а наглянд о даже не имею представления, =)
Так спрашивайте, о том что непонятно. Если на словах понимаете - значит и вопросы можете задавать.
PS.Или Вы хотите решение под ключ?
Тогда плиз по ссылке "письмо автору" - качество будет достойным, цена - адекватной. | |
|
|
|
|
|
|
|
для: Trianon
(27.07.2007 в 10:14)
| | хмм, ну если бы я строик какой-нибуть супер проект то бы 100% обратился к Вам, но я простo практикую, и подскажите пожлуйста тогда какие хорошие книги есть, ато много разных.... =) | |
|
|
|
|
|
|
|
для: JESS
(27.07.2007 в 10:27)
| | Так вон сверху окна полка стоит целая! Вам - как раз! )) | |
|
|
|