|
 170 Кб |
|
| одни для посетителей "А" другие "B"
Пример на фото | |
|
|
|
|
|
|
|
для: zorg84
(23.08.2011 в 15:38)
| | попробуйте открыть свое фото ) | |
|
|
|
|
 166.8 Кб |
|
|
для: Valick
(23.08.2011 в 15:41)
| | закинул не то фото пробовал редактировать пишет что невозможно. | |
|
|
|
|
|
|
|
для: zorg84
(23.08.2011 в 15:38)
| | А что вызывает сложность? HTML-верстка? Формирование SQL-запросов? Что-то другое? | |
|
|
|
|
|
|
|
для: cheops
(23.08.2011 в 15:56)
| | SQL запрос. я сделал две таблицы бд вывожу данные из них всё работает
но мне надо постраничная навигация для них все предлагаемые примеры не подходят для двух таблиц а сам не могу подстроить под конкретный пример
По этому спрашиваю может может как-нибудь по другому организовать таблицы | |
|
|
|
|
|
|
|
для: zorg84
(23.08.2011 в 16:04)
| | А почему не подходят? Просто задавайте те же самые WHERE-условия и используйте AJAX-отображение, чтобы не сбрасывать постраничную навигацию в соседнем блоке. | |
|
|
|
|
|
|
|
для: cheops
(23.08.2011 в 16:07)
| | Если не трудно на примере как это реализовать
Вот как я сделал
вторая таблица точно также выводится
<?php
//22222222222222222222222222222222222 22222222222222222222222222222222222 22222222222222222222222222222222222 22222222222
$num = 3;
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$query6 = "SELECT COUNT(*) FROM comments WHERE post= '$id'";
echo $query6;
$resul6 = mysql_query($query6);
$temp = mysql_fetch_array($resul6);
echo $temp;
$posts6 = $temp[0];
echo "количество".$posts6;
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total = intval($total);
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная с какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
if ($posts > 0){
$st = "LIMIT $start,$num";
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
$query0 = "SELECT * FROM comments WHERE post='$id' ORDER BY id DESC ";
$result0 = mysql_query ($query0) or die(mysql_error());
if (mysql_num_rows($result0) > 0)
{
while ($myrow0 = mysql_fetch_array($result0)){
printf ("<div class='man_comm'><br><p class='author'><strong>%s</strong><div class='man_date'>%s</div></p>
<p>%s</strong></p></div><div class='stars_m'>* * *</div>",$myrow0["author"],$myrow0["date"], $myrow0["text"]);
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=post.php?post='.$cat.'&page=1>First</a> | <a href=post.php?post='.$cat.'&page='. ($page - 1) .'>Previous</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=post.php?post='.$cat.'&page='. ($page + 1) .'>Next</a> | <a href=post.php?post='.$cat.'&page=' .$total. '>Last</a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=post.php?post='.$post.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=post.php?post='.$post.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=post.php?post='.$post.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=post.php?post='.$post.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=post.php?post='.$post.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=post.php?post='.$post.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=post.php?post='.$post.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=post.php?post='.$post.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=post.php?post='.$post.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=post.php?post='.$post.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
}
?>
|
Если в другой таблице больше записей то они не выводятся Вот с чем не могу справится | |
|
|
|
|
|
|
|
для: zorg84
(23.08.2011 в 16:13)
| | Этот скрипт в каком файле находится?
PS Фактически, чтобы избежать проблем, вам нужно вместо
<a href=post.php?post='.$post.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
| использовать что-то вроде
<a href='#' onclick="next('.($page + 5) .'); return false;" >'.($page + 5) .'</a>
| где next() - JS-функция, которая подгружает в блок с ответами следующую страницу. Сами же выводы комментариев следует организовать в виде отдельных PHP-файлов, которые подключаются сначала при помощи include(), а затем при помощи AJAX-запроса из JS-кода.
PS Пример привести можно, на чем-то более компактном (у нас и MySQL-таблиц ваших нет, чтобы воспроизвести ситуацию) и с использованием jQuery, так как на чистом JS получается довольно много кода (потребуется много времени на составление ответа). | |
|
|
|
|
|
|
|
для: cheops
(23.08.2011 в 16:31)
| | post .php
Структура таблицы `commentsmen`
CREATE TABLE `commentsmen` (
`id` int(5) NOT NULL auto_increment,
`post` varchar(5) NOT NULL,
`author` varchar(100) NOT NULL,
`text` text NOT NULL,
`date` date NOT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=282 ;
|
Вторая точно такая называется "comments" | |
|
|
|
|
|
|
|
для: zorg84
(23.08.2011 в 16:36)
| | Хм... а не проще их в одной таблице хранить и просто ввести дополнительное поле, по которому можно будет отличать мужчин и женщин? | |
|
|
|
|
|
|
|
для: cheops
(23.08.2011 в 16:44)
| | Может и проще | |
|
|
|
|
|
|
|
для: zorg84
(23.08.2011 в 16:48)
| | . | |
|
|
|