Мне надо сделать так что бы на странице выводилось 1 сообщение (скрипт называеться show_announcement.php). Сообщений много.
Вот то что у меня получилось, но здесь что то не такю Исправьте пожалуйста.
<?php
include ("mysql.php");
$section_id = $_GET['id'];
$section_id = mysql_real_escape_string($section_id);
$section_id = (int)$section_id;
$query = mysql_query ("SELECT id, section, type, text, name, email, date FROM announcements WHERE section = '$section_id' ORDER BY date desc");
while (list ($id, $section, $type, $text, $name, $email, $date) = mysql_fetch_array ($query))
{
echo "<table width='300' border ='1' >";
echo "<tr>";
echo "<td width='150'>$type</td><td><div align='right'>$date</div></td>";
echo "</tr>";
echo "</table>";
echo "<table width='300' border ='1'>";
echo "<tr>";
echo "<td>$text</td>";
echo "</tr>";
echo "</table>";
echo "<table width='300' border ='1'>";
echo "<tr>";
echo "<td width='150'>$name</td><td><div align='right'><a href='mailto:$email'>$email</div></td>";
echo "</table>";
echo "<br>";
}
$num = mysql_num_rows ($query);
$page = "0";
if ($num > 0)
{
$page = $page + 1;
echo "<a href='show_announcement?page=$page'>$page </a>";
}
?>
1. Andrey5555 - 04 Января, 2008 - 16:08:30 - перейти к сообщению
2. T-Mon - 04 Января, 2008 - 17:52:57 - перейти к сообщению
Лень заниматься твоим кодом, прикрепляю файл, мной недавно написаный, там как реализована постраничная навигация, если сумеешь создать необходимые базы данных, сможешь даже лицезреть результат.
P.S. Присмотрись к функциям show_navi(), jump_pages(), avoid_errors() и ко всем, которые используются ними.
P.S. Присмотрись к функциям show_navi(), jump_pages(), avoid_errors() и ко всем, которые используются ними.
3. Нирвана - 04 Января, 2008 - 22:35:02 - перейти к сообщению
T-Mon пишет:
Лень заниматься твоим кодом, прикрепляю файл, мной недавно написаный, там как реализована постраничная навигация, если сумеешь создать необходимые базы данных, сможешь даже лицезреть результат.
P.S. Присмотрись к функциям show_navi(), jump_pages(), avoid_errors() и ко всем, которые используются ними.
P.S. Присмотрись к функциям show_navi(), jump_pages(), avoid_errors() и ко всем, которые используются ними.
Слишком круто, а нет ничего попроще, для тупых, как я ))))
Мне тожа нуно разбить списки по страницам, но простым способом.\n\n(Добавление)
Вот - накопал в инете, может кому сгодиться:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- /*Простейшая функция постраничного вывода, назавём её просто PagePrint*/
- function PagePrint($start, $count) {
- $HrefPage='';//----Создаём переменную которая будет содержать постраничный вывод
- $number=10;//----Количество записей на странице
- /*Подсчитываем количество страниц, где $count - общее количество записей, $number - количество записей на странице*/
- $CountPage=(int)(($count+$number-1)/$number);
- /*Перебираем в цикле все страницы*/
- for($link=1; $link <= $CountPage; $link++):
- $PageStart=($link - 1) * $number;//----Рассчитываем точку выборки из базы данных
- $HrefPage=$HrefPage."<a href=".getenv('PHP_SELF')."?start=".$PageStart." target=_parent>".$link."</a>";//--Формируем ссылки
- endfor;
- return $HrefPage;
- }
БОЛЕЕ СЛОЖНАЯ:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- function PagePrint($variable) {
- global $beginPage, $endPage;//------Объявляем глобальные переменные, отвечающие за ссылку на первую и последнюю страницу
- $href='';//-----Перемменная содержащая в себе постраничный вывод
- $separator=' ';//-----Переменная задающая разделитель между ссылками, по умолчанию пробел
- $style='style="text-decoration:none" style="color:orange" style="font-weight:bold"';//-------Задаёт стиль текущей страницы
- $stylePage='style="text-decoration:none" style="color:blue" style="font-weight:bold"';//------Задаёт стиль ссылки на первую и последнюю страницу
- #Перебираем массив и присваиваем $number - количество записей, $start - точка извлечения, $pageCount - количество записей, $andere - другие свойства ссылки, $class - стиль для ссылок, $showLink - количество ссылок на странице
- #Обрабатывам $start
- else $start=$start;
- #Обрабатываем $number
- else $number=$number;
- $page=(($start/10)+1);//-------Рассчитывавем номер страницы
- #Вывод сслыки на первую и последнюю страницы
- if($count!==1) :
- $beginPage="<a href="".getenv('PHP_SELF')."?start=0".$andere."" ".$stylePage.">перв</a>";//--------Первая страница
- $endPage="<a href="".getenv('PHP_SELF')."?start=".(($count-1)*10).$andere."" ".$stylePage.">посл</a>";//-----Последняя страница
- else: FALSE;
- endif;
- if($pageCount==10): return False;
- else:
- #Постраничный вывод
- for($j=0; $j<=$showLink; $j++):
- $i=$begin+$j;//------Номер страницы
- #Защищает скрипт если $<0, будет до тех пор увеличивать пока $showPage=1
- if($i<1):
- $showLink++;
- continue;
- endif;
- #Постраничный вывод
- if($i>$count) break;//-----Защита если количество $i>возможных записей
- if($i==$page) $href=$href." <a ".$style." >".$i."</a>";//------Вывод текущей страницы
- else $href=$href." <a href="".getenv('PHP_SELF')."?start=".(($i - 1)*10).$andere."" ".$class.">".$i."</a> ";//------Вывод следующих страниц
- endfor;
- return $href;
- endif;
- endif;
- }
ВОТ ЕЩЕ ОДИН ВАРИАНТ:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- // кол-во строк в страницах
- $in_page = 10;
- // получаем количество строк
- // рисуем навигационную строку и пишем начало таблицы
- print("<div align=center>". <b>draw_bar($page, $amount, $in_page,
- "goods.php?page=")</b>. "</div>n<table>");
- // формируем запрос к базе
- ORDER BY name, price ". <b>get_limit($page, $amount, $in_page)</b>);
- // получаем номер для нумерованного списка
- $count = <b>get_count_limit($page, $amount, $in_page)</b>;
- // выводим строки
- $count++;
- print ("<tr");
- // фон каждой второй строки — серым цветом
- print (" bgcolor=#e1e1e1");
- print ("><td align=right>$count.</td><td>${good_row[name]}
- <br>${good_row[description]}</td><td align=right>${good_row[price]}</td></tr>n");
- };
- // конец таблицы и нижняя навигационная строка
- print("</table><div align=center>". <b>draw_bar($page, $amount,
- $in_page, "goods.php?page=")</b>. "</div>n");