29 марта 2024, пятница  

PHPworld.ru - все о программировании на PHP, основы языка PHP, особенности PHP5
PHPworld.ru php php 5 SQLite Статьи Книги Форум PHP Гостевая книга Ссылки по PHP

Правила форума


Если вы впервые на нашем форуме - ознакомьтесь с правилами


 

Форум

  Михаил :: Постраничный вывод
Помогите, пожалуйста, разобраться с проблемой!

Есть скрипт, который выводит данные из базы (приведен ниже). Я попытался организовать постраничный вывод, но переменная $page не меняет своего значения при клике на любую из ссылок с другим номером страницы, оставаясь равной 1. В адресной строке переменная передается, например "http://localhost:8888/retail.php?page=22", а новая страница с новым значением $page не открывается :-(

Заранее благодарен!

<?
$lines_per_page = 5; //кол-во записей на страницу

$keyword=$HTTP_POST_VARS["keyword"];
// 1. Соединение с MySQL
$link = mysql_connect("localhost","root","");
// 2. Выбор базы
@mysql_select_db("mars",$link) or die("Невозможно выбрать базу: <br>MySQL answer: ".mysql_error());

// 3. Выполнение запроса
$query = "SELECT * FROM pricelist";
$result = mysql_query($query,$link) or die("Невозможно выполнить SQL-запрос: <br>MySQL answer: ".mysql_error());
//$i=mysql_num_rows($result);

$all_lines = mysql_num_rows($result);

//проверяем значение переменной $page
if (!isset($page) or empty($page) or $page<=0) {
$page=1;
}
else $page=(int)$page; //защита
$page_for_query = $page-1; //для запросов

//вычислить, с какой позиции считывать ряды
$lpos = $page_for_query * $lines_per_page;

//теперь запрос
$query = "SELECT * FROM pricelist ORDER BY number LIMIT $lpos,$lines_per_page";
$result = @mysql_query($query) or die("$query <b>failed!</b><br>".mysql_error());

if($all_lines<=0){
echo"<p>К сожалению в данный момент $keyword на складе отсутствует</p>";
}
elseif($all_lines>0){

?>
<a href="#" onClick="window.open('disconts.html', 'newWin', 'width=400,height=400,left=50,top=50,menubar=no,toolbar=no,location=no,status=no,scrollbars=1,directories=no,resizable=1,copyhistory=1')" title="Информация о скидках">Информация о скидках</a>

<table class="price" border="0" cellpadding="0" cellspacing="0">
<tr>
<th>Наименование товара</th>
<th>Фасовка</th>
<th>Всхожесть, %</th>
<th>Цена, руб.</th>
</tr>
<?
while($row=mysql_fetch_row($result)){
echo"<tr>";
echo"<td><a href=\"search_result.php?keyword=$row[1]\" title='Подробное описание товара'>$row[1]</a></th>";
echo"<td>$row[2]</td>";
echo"<td>$row[3]</td>";
echo"<td>$row[4]</td>";
echo"</tr>";
}


?>
</table>

<?
//отобразить "Страница: 1 ¦ 2 ¦ 3"
//вычислим, сколько всего страниц
$count_pages = ceil($all_lines / $lines_per_page);
//далее проверим и запустим цикл
if ($count_pages>1) {
for ($i=1; $i<=$count_pages; $i++) {
if($page==$i and $i!=1) {echo " ¦ $i";} //если текущая страница
//если первая печатается цифра "1" то выводить без "¦"
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>";}
}
}
$i=mysql_num_rows($result);
// 5. Отсоединение от MySQL
mysql_close($link);
?>

<?}?>
  13 октября 2004, 11:45

Это сообщение было просмотрено: 5847 раз(а)

Ответить на сообщение

Вернуться к списку сообщений форума

Сообщение и ответы Просм. Автор Дата
  Постраничный вывод5847 Михаил13.10.04 11:45
 register_globals3857 Леонид13.10.04 13:50
 спасибо!3111 Михаил14.10.04 11:55


 Ответить на сообщение
 Автор:
 Ваш email*:
уведомлять об ответах на соощение по email
не публиковать email в форуме
 Тема сообщения:
 Текст сообщения:

* - поле не обязательно для заполнения

 

Copyright © PHP World - Леонид Лукин, 2004-2008.

Главная PHP World | PHP | PHP 5 | SQLite | Статьи по PHP | Книги по PHP | Ссылки по PHP | CV