ОК
Код правда не маленький… сразу всем спасибо кто дочитает его до конца.
<form action="output.php" method="post">
<input type="hidden" name="seenform" value="y">
<table border="1p" summary="">
<tr>
<td>Колличество комнат</td>
<td>
<select name="number" size="5">
<option value="1" selected>Одна.
</option>
</select>
</td>
</tr>
<tr>
<td>Стоимость</td>
<td>
<table>
<tr>
<td>
<input name="variant" value="mr" type="radio" checked />Менее<br />
<input name="variant" value="br" type="radio" />Более
</td>
<td>
<select name="cost" size="7">
<option value="" selected>Не имеет значения
</option>
</select>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Тип</td>
<td>
<select name="type" size="4">
<option value="x" selected>Не имеет значения
</option>
</select>
</td>
</tr>
<tr>
<td>Этаж</td>
<td>
<select name="etaj">
<option value="x" selected>Не имеет значения
</option>
</select>
</td>
</tr>
<tr>
<td>Этажность
</td>
<td>
<select name="etajnost" size="1" maxlength="5">
<option value="x" selected>Не имеет значения
</option>
</td>
</tr>
<tr>
<td>Улица</td>
<td>
<select name="street">
<option value="x" selected>Не имеет значения
</option>
</select>
</td>
<tr>
<tr>
<td>
</td>
<td>
<input type="submit" value="Искать." />
</td>
</tr>
</table>
</form>
Конечно я его сократил дамы не утомлять ваши очи, но сократил я его только в тех местах где был повторяющийся код (не выводить же сюда несколько сотен улиц города).
Знаю что его можно усовершенствовать в разных моментах но это меня пока не интересует.
Ну а вот файл экшена
<?php
$cost = $_POST['cost'];
$number = $_POST['number'];
$etaj = $_POST['etaj'];
$etajnost = $_POST['etajnost'];
$type = $_POST['type'];
$street = $_POST['street'];
if($street == "x"):
$street1 = "";
else:
$street1 = " AND street = '$street'";
endif;
if($type == "x"):
$type1 = "";
else:
$type1 = " AND type = '$type'";
endif;
if($etaj == "x"):
$etaj1 = "";
else:
$etaj1 = " AND etaj = $etaj";
endif;
if($etajnost == "x"):
$etajnost1 = "";
else:
$etajnost1 = " AND etajnost = $etajnost";
endif;
if($variant == "mr"):
$op = "<";
else:
$op = ">";
endif;
if(isset($cost)):
$cost1 = "";
else:
$cost1 = " AND cost = $cost";
endif;
/*Данные для листалки*/
$nums = 10;
if (isset($_GET['page']))
{$page = intval($_GET['page']);}
else
{$page = 1;}
$neighbours = 6;
/*Конец данных для листалки*/
@mysql_connect("localhost","root") or die ("I'm can't connect to MySQL");
@mysql_select_db(stady) or die ("I'm can't connect to DB");
$query = "SELECT COUNT(*) AS `counter` FROM `apartament`";
$sql = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$elements = $row['counter'];
$pages = ceil($elements/$nums);
//СОСЕДИ
$left_neighbour = $page - $neighbours;
if ($left_neighbour < 1) $left_neighbour = 1;
$right_neighbour = $page + $neighbours;
if ($right_neighbour > $pages) $right_neighbour = $pages;
//КОНЕЦ СОСЕДЯМ
if ($page < 1){$page = 1;} elseif ($page > $pages){$page = $pages;} //ПРОВЕРКА НА БОЛЬШЕ МЕНЬШЕ ЧЕМ ЕСТЬ
$start = ($page-1)*$nums;
echo 'Колличество страниц:'." $pages".'<br />';
echo "'$number' '$cost1' '$etaj1' '$etajnost1' '$type1' '$street1' '<br />'";
$query = "SELECT * FROM apartament WHERE number = '$number' $cost1 $etaj1 $etajnost1 $street1 $type1 $street1 LIMIT $start, $nums";
echo $query;
$result = mysql_query($query);
if(mysql_num_rows($result) == 0):
echo "По вашему запросу ничего не найденно. Попробуйте расширить запрос.";
else:
echo "<table><tr><th>Контакт</th><th>Цена</th><th>Кол. ком.</th><th>Этаж/ Этажность</th><th>Улица</th><th>Тип</th><th>Состояние</th><th>Нал. телефона</th><th>Примечание</th></tr>";
while(list($name, $phone, $email, $cost, $number, $etaj, $etajnost, $street, $type, $condition, $telephone, $description, $begin, $end) = mysql_fetch_row($result)):
echo "<tr>
<td>$name<br />$phone<br />$email</td><td>$cost тыс.руб.</td><td>$number</td><td>$etaj/$etajnost</td><td>$street</td><td>$type</td><td>$condition</td><td>$telephone</td><td>$description</td>
</tr>
";
endwhile;
echo "</table>";
if ($page> 1)
{
print ' <a href="?page=1">Начало</a> … <a href="?page=' . ($page-
1) . '">Назад</a> ';
}
if ($page == 1)
{
print ' Начало … Назад ';
}
for ($i=$left_neighbour; $i<=$right_neighbour; $i++)
{
if ($i != $page)
{
print '<a href="?page=' . $i . '">' . $i . '</a> ';
}
else
{
print ' <b>' . $i . '</b> ';
}
}
if ($page < $pages)
{
print '<a href="?page=' . ($page+1) . '">Вперед</
a> … <a href="?page=' . $pages . '">Конец</a>';
}
if ($page == $pages)
{
print ' Вперед … Конец ';
}
endif;
?>
Сразу говорю, вариант с расположением на одной странице формы и её экшена у меня тоже есть но там при переходе по ссылке на вторую страницу перекидывает опять на форму. Однако следует отметить, что после того как перекинет при нажатии на кнопку "Искать." выходишь именно на правильную страницу. Вообщем одни загадки.
Спасибо.