[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Постраничная навигация
m4a1fox
Доброго вечера уважаемые эксперты. Вот столкнулся с проблемкой. Есть такой скрипт
<?php  
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '
<a id="dlet" class="dlet" href= ./page_you_mail.php>&larr;|</a>
<a id="dlet" class="dlet" href= ./page_you_mail.php?page='
. ($page - 1) .'>&larr;</a>';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = '
<a id="dlet" class="dlet" href= ./page_you_mail.php?page='
. ($page + 1) .'>&rarr;</a>
<a id="dlet" class="dlet" href= ./page_you_mail.php?page='
.$total. '>
|&rarr;</a>'
;

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = '
<a id="dlet" class="dlet" href= ./page_you_mail.php?page='
. ($page - 2) .'>'. ($page - 2) .'</a>';
if($page - 1 > 0) $page1left = '
<a id="dlet" class="dlet" href= ./page_you_mail.php?page='
. ($page - 1) .'>'. ($page - 1) .'</a>';
if($page + 2 <= $total) $page2right = '
<a id="dlet" class="dlet"
href= ./page_you_mail.php?page='
. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = '
<a id="dlet" class="dlet" href= ./page_you_mail.php?page='
. ($page + 1) .'>'. ($page + 1) .'</a>';
?>


<table border="0" width="100%" align="center"><tr align="center">
<?php echo '<td align="center">
'
.$pervpage.$page2left.$page1left.'
<div id="dlet" class="dlet_active">'
.$page.'</div>
'
.$page1right.$page2right.$nextpage.'</td>';?>
</tr></table>

вроде все нормально работает.

А если вот так
<?php  
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'>&larr;|
</a>
<a id="dlet" class="dlet" href= ./page.php?ind='
.$_GET['ind'].'?
page='
. ($page - 1) .'>&larr;</a>';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'?page='. ($page + 1) .'>&rarr;</a>
<a id="dlet" class="dlet"
href= ./page.php?ind='
.$_GET['ind'].'?page=' .$total. '>|&rarr;</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'?page='. ($page - 2) .'>'. ($page - 2) .'</a>';
if($page - 1 > 0) $page1left = '<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'?page='. ($page - 1) .'>'. ($page - 1) .'</a>';
if($page + 2 <= $total) $page2right =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = '<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'?'. ($page + 1) .'>'. ($page + 1) .'</a>';
?>
- не работает

Насколько понимаю из-за вот этого
?ind='.$_GET['ind'].


Только в этом отличие второго скрипта от первого. Как тут быть?



Спустя 1 минута, 54 секунды (31.01.2011 - 20:48) DmitryOpalev написал(а):
Я не уверен, но попробуй одинарные кавычки на двойные заменить

Спустя 1 минута, 1 секунда (31.01.2011 - 20:49) m4a1fox написал(а):
DmitryOpalev
А можно поконкретнее?!

Спустя 1 минута, 21 секунда (31.01.2011 - 20:51) DmitryOpalev написал(а):
".$_GET['ind']."
ну вот так переменные "кавычить"

Спустя 2 минуты, 42 секунды (31.01.2011 - 20:54) m4a1fox написал(а):
DmitryOpalev
Нет! Так не работает!

Спустя 6 минут, 19 секунд (31.01.2011 - 21:00) alex12060 написал(а):

<?php
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'>&larr;|
</a>
<a id="dlet" class="dlet" href= ./page.php?ind='
.$_GET['ind'].'&
page='
. ($page - 1) .'>&larr;</a>';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'&page='. ($page + 1) .'>&rarr;</a>
<a id="dlet" class="dlet"
href= ./page.php?ind='
.$_GET['ind'].'&page=' .$total. '>|&rarr;</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'&page='. ($page - 2) .'>'. ($page - 2) .'</a>';
if($page - 1 > 0) $page1left = '<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'&page='. ($page - 1) .'>'. ($page - 1) .'</a>';
if($page + 2 <= $total) $page2right =
'<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = '<a id="dlet" class="dlet" href= ./page.php?ind='.$_GET['ind'].'&'. ($page + 1) .'>'. ($page + 1) .'</a>';
?>

Вот так будет работать.

Спустя 3 минуты, 19 секунд (31.01.2011 - 21:03) m4a1fox написал(а):
alex12060
К большому сожалению - так тоже не работает?!

Спустя 1 минута, 21 секунда (31.01.2011 - 21:05) m4a1fox написал(а):
alex12060
Я думаю ошибка в запросе!!!!!
Вот сам запрос
$result = mysql_query("SELECT COUNT(*) FROM `data` WHERE `id_menu` = '".$_GET['ind']."'");  

получается что код вынимает записи основываясь на `id_menu` = '".$_GET['ind']."

Спустя 1 минута, 16 секунд (31.01.2011 - 21:06) alex12060 написал(а):
А за что отвечает $_GET['ind'];
?
Запрос то нормально составлен, только, не защищен)

Спустя 2 минуты, 54 секунды (31.01.2011 - 21:09) m4a1fox написал(а):
Он смотрит чему равна в адресной строке ind и выбирает записи в зависимости от номера передаваемым параметром GET.

Спустя 1 минута, 11 секунд (31.01.2011 - 21:10) alex12060 написал(а):
Сделай так:

$result = mysql_query("SELECT COUNT(*) FROM `data` WHERE `id_menu` = '".$_GET['ind']."'") or die(mysql_error());  

Спустя 3 минуты, 32 секунды (31.01.2011 - 21:13) m4a1fox написал(а):
Все... Немного подрехтовал и он завелся. Спасибо огромное за помощь! Накоец-то работает!

Спустя 2 минуты, 28 секунд (31.01.2011 - 21:16) m4a1fox написал(а):
А можно маленькое уточнение. Что вы заменили... и как это вылилось в TRUE?

Спустя 3 минуты, 12 секунд (31.01.2011 - 21:19) alex12060 написал(а):
Цитата
и как это вылилось в TRUE?


Ты про что? оО

Спустя 4 минуты, 6 секунд (31.01.2011 - 21:23) m4a1fox написал(а):
Ну вы применили изменения определенные, я его немного подшлифовал и скрипт заработал. Вот я и прошу просвятить меня. Какая разница между ? и &?

Спустя 3 минуты, 51 секунда (31.01.2011 - 21:27) alex12060 написал(а):
Обычно, первый запрос одет через воспрасительный знак, это, как бы главное объявление начала ГЕТ запроса, а далее, через & идут уже дополнения к запросу) Поэтому, так)

Спустя 38 секунд (31.01.2011 - 21:28) Игорь_Vasinsky написал(а):
Он имеет ввиду - наши ли мы косяк - который о нашёл в своём коде,


это феня...програмная...

Спустя 1 минута, 58 секунд (31.01.2011 - 21:30) Игорь_Vasinsky написал(а):
Цитата
Какая разница между ? и &?


а я чё то не вижу у тя в ссылках амперсанда... одни вопросы

Спустя 3 минуты, 33 секунды (31.01.2011 - 21:33) m4a1fox написал(а):
Игорь_Vasinsky
Про тот косяк я даже и не думал... Это другой код. Да и про тот (шепетом) косяк говорит тут не надо)!
То что написал alex12060 есть амперсанд и отсутствуют знаки вопроса. Поэтому насколько понимаю оно все и заработало?!

Спустя 2 минуты, 32 секунды (31.01.2011 - 21:36) alex12060 написал(а):
Если честно, по-моему только в этом дело то и было)
Ну и еще ты там запилил что-то.
Да и вообще, лучше поддерживаться веб стандартам) Большой + будет в работе)
Личнно я все свои проекты пишу сначала, потом сверяю с w3c.org стандартами)
Так что)...

В общем, все работает и нормально! biggrin.gif

Спустя 25 минут, 45 секунд (31.01.2011 - 22:01) m4a1fox написал(а):
alex12060
Да работает! Еще раз спасибо!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.