|
|
|
| Пытаюсь смонтировать форму поиска по "стране" среди членов клуба.
При первой попытке выборке показывает первую группу страниц нормально, но при нажатии на ссылку следующей группы "41-80" ничего не показывает.
Прошу помочь разобраться.
Заранее благодарю.
<form action="" method="post">
Поиск:<br><?php echo $country; ?><br>
Выберите страну:<br>
<select name="country" id="country">
<OPTION VALUE=' '>Страна</OPTION>
<OPTION VALUE='Russia'>Россия</OPTION>
<OPTION VALUE='Ukrania'>Украина</OPTION>
<OPTION VALUE='Belarus'>Беларусь</OPTION>
<OPTION VALUE='Kazakhstan'>Казахстан</OPTION>
<OPTION VALUE='Moldova'>Молдова</OPTION>
<OPTION VALUE='Uzbekistan'>Узбекистан</OPTION>
<OPTION VALUE='USA'>США</OPTION>
<OPTION VALUE='Australia'>Австралия</OPTION>
<OPTION VALUE='Austria'>Австрия</OPTION>
<OPTION VALUE='Germany'>Германия</OPTION>
<OPTION VALUE='Great Britain'>Великобритания</OPTION>
<OPTION VALUE='India'>Индия</OPTION>
<OPTION VALUE='Other'>Другая</OPTION>
</select>
<br>
<input type=submit value='ОК'>
</form>
<?php
include ("../based.php");
$show_cols = 4; // кол-во колонок
$show_rows =10; // кол-во строк
//if (!isset($start1)) $start1=1; //если нач.страница не установлена, идем на первую
$start1 = (isset($_GET['start1'])) ? intval($_GET['start1']): 1;
$country=trim($_POST['country']);
//определяем, сколько столбцов и где мы находимся
if (isset($_POST['country'])||($_GET['country']))
$query = ("SELECT * FROM brides_data WHERE country = '$country' order by id_bride");//здесь можно только кол-во записей запрашивать
else $query = ("SELECT * FROM brides_data order by id_bride");
$array = mysql_query($query);
$num_rows = mysql_num_rows($array); //всего строк в базе
$cols=floor($num_rows/$show_cols); //всего кол-во столбцов
$pages = floor($num_rows/($show_cols*$show_rows));//кол-во страниц
if ($num_rows > $show_cols*$show_rows*$pages) $pages++; //если строк в базе больше, чем помещается на одной странице, переходим на след.
for ($ii=1; $ii<=$pages; $ii++) { //начинаем цикл перебора всех страниц
$from1=$ii*$show_rows*$show_cols-($show_rows*$show_cols-1); //
$to1=$ii*$show_rows*$show_cols; //кол-во показ.страниц
if ($to1 > $num_rows) $to1 = $num_rows; //если кол-во показ.страниц больше, чем строк в базе, делаем его равным
if ($start1==$from1) echo "| <font style=\"font-face: Verdana, Arial, Helvetica, sans-serif;
color : #ff8c00; font-weight : bold; font-size: 12px;\">$from1 - $to1</font>";
else
{echo " | <a href=\"?start1=$from1&country=$country\" style=\"font-face: Verdana, Arial, Helvetica, sans-serif;
color : #000000; font-weight : bold; font-size: 12px;\"> $from1 - $to1</a>";}
}
/// вывод страницы
if ($num_rows > $pages*$show_cols*$show_rows) $vid++;
for ($iii=0; $iii<=$vid; $iii++) {
/// вывод таблицы
if ($num_rows > $show_rows) $show_rows++;
for ($i=2; $i<=$show_rows; $i++) {
$start1=$start1 - 1;
if (isset($_POST['country'])||($_GET['country']))
$query = "SELECT img_url FROM brides_data WHERE country = '$country' ORDER BY id_bride DESC limit $start1,$show_cols";
else
$query = "SELECT img_url FROM brides_data ORDER BY id_bride DESC limit $start1,$show_cols";
$start1=$start1+$show_cols + 1;
$result = mysql_query($query);
$number = mysql_num_rows($result);
echo"<table align=center border=\"0\" cellpadding=5 cellspacing=2 >";
$j = 0;
WHILE ($j < $number)// вывод строки
{
$pic_name = mysql_result($result,$j,"img_url");
echo"<td align=center bgcolor=#ffffff valign=middle style=\"border-style: solid; border-color: #909090; border-width: 1px\">
<A HREF=\"/ru_gi/private.php?id=$pic_name\"><img src=\"/image/img_brides/".$pic_name."\" border=0></A></TD>";
$j++;
}// конец вывода строки
}// конец вывода таблицы
}// конец вывода страницы
///
?>
|
| |
|
|
|
|
|
|
|
для: trotsak
(18.05.2009 в 08:24)
| | Чтобы проще было вам (это не совет, а лишь вариант решения), используйте метод GET для формы | |
|
|
|
|
|
|
|
для: mihdan
(18.05.2009 в 18:02)
| | Да, спасибо. Поменял на GET и все получилось.
Я понимаю, что есть вариант намного совершенный, но мне пока нужно, чтоб просто работало. | |
|
|
|