|
|
|
| В одном из ваших книг я сделал постраничную навигация сообщений из быз данных MySQL но таким образом что последнее сообщение отображалось первым а обчно в гостевых книгах наоборот последнее добавлнное сообщение отображается первым вы бы не могли в этой теме написать скрипт выводки из базы какойнить простой постраничную навигацию чтоб первое сообщение отображалось первым я вас очень прошу заранее огромное спасибо =) | |
|
|
|
|
|
|
|
для: delet
(20.06.2007 в 15:57)
| | Что-то Вы напутали в описании задачи.
Если Вы имели ввиду "чем новее, тем выше", то там где стоит что-то вроде
ORDER BY `id` ASC
нужно заменить на
ORDER BY `id` DESC. | |
|
|
|
|
|
|
|
для: Unkind
(20.06.2007 в 17:18)
| | :) Спфсибо тебе но тыбы мог сказать что тут можо добавить чтоб получилось как я гвоорю
Скрипт:
<?php
// Число позиций на странице
$pnumber = 3;
// Устанавливаем соединение с базой данных
require_once("config.php");
if(isset($_GET['page'])) $page = $_GET['page'];
else $page = 1;
// Начальная позиция
$start = (($page - 1)*$pnumber + 1);
if($_GET[id_catalog] != 0) $where = "WHERE id_catalog = $_GET[id_catalog]";
else $where = "";
// Формируем запрос на извлечение товарных
// позиций текущего элемента каталога
$query = "SELECT * FROM products
$where
ORDER BY price
LIMIT $start, $pnumber";
$prd = mysql_query($query);
if(!$prd) exit(mysql_error());
// Если для текущего элемента каталога имеется хотя бы
// одна товарная позиция, выводим ее
if(mysql_num_rows($prd) > 0)
{
echo "<table border=1>
<tr>
<td>Название</td>
<td>Цена</td>
</tr>";
while($product = mysql_fetch_array($prd))
{
echo "<tr>
<td>$product[name]</td>
<td>$product[price]</td>
</tr>";
}
echo "</table>";
}
// Число страниц
$query = "SELECT COUNT(*) FROM products $where";
$tot = mysql_query($query);
if(!$tot) exit(mysql_error());
$total = mysql_result($tot,0);
$number = (int)($total/$pnumber);
if((float)($total/$pnumber) - $number != 0) $number++;
// Постраничная навигация
for($i = 1; $i <= $number; $i++)
{
if($i != $number)
{
if($page == $i)
{
echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."] ";
}
else
{
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".
(($i - 1)*$pnumber + 1)."-".
$i*$pnumber."]</a> ";
}
}
else
{
if($page == $i)
{
echo "[".(($i - 1)*$pnumber + 1)."-".($total - 1)."] ";
}
else
{
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".
(($i - 1)*$pnumber + 1)."-".
($total - 1)."]</a> ";
}
}
}
?>
или напиши свой пример если он гуманнее а то в книжке по PHP в изучении MySQL Вообще показано как можно тольо сообщения из базы данных вывести и всё а про ORDER BY 'id' ASC вообще не сказано так стрёмно | |
|
|
|
|
|
|
|
для: Unkind
(20.06.2007 в 17:18)
| | Ты бы мог привести пример пожалуйста простой если бы мог а? а то в книжке мля сказано только каквывести сообщения и всё и здесь если можно было бы мог привести пример | |
|
|
|