Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Оператор сравнения

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: дописать сравнение
VladisOK
Отправлено: 13 Июня, 2007 - 14:43:07
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2007  


Помог: 0 раз(а)

[+]


на странице выводиться сортировка по производителям вот таким образом:
================================ ==================
// start SORT

echo " <table width="173" align="center" border="0">n";
echo " <tr>n";
echo " <td class=gray align=right>Производитель :</td>n";
echo " <td class=gray><select name=name onChange=location.href=this.options[selectedIndex].value >n";

$query = "SELECT id, name FROM firm ORDER BY name";

if($name = mysql_query($query))
{
while(list($id, $id_firm)=mysql_fetch_array($name))
{
echo "<option value="index.php?lang=$lang&p=$p&id_type=$id_type&id_subtype=$id_subtype&id_firm=$id" >" . $id_firm . "</option>";
}
} else puterror("error");
echo " </select></td>n";
echo " </table>";

//end SORT
================================ ================
Тут нет ни каких вопросов - всё нормально.

На этой же странице выводится функция ограничения вывода на страницу товаров и организация переходов на другую страницу
код ( находится вверху страницы ):
================================ ================
$iTotalRecords = checkQuery("SELECT id FROM wares WHERE wares.lang='$lang' && wares.id_subtype='$id_subtype'");
$page = @$HTTP_GET_VARS['page']; if(!$page) $page = 0;
$iTotalPages = intval($iTotalRecords / $DEF['PICT_PER_PAGE']) + ($iTotalRecords % $DEF['PICT_PER_PAGE'] ? 1 : 0);
================================ ================
ниже на странице ( после выбора сортировки ) код, ограничения вывода на страницу товаров и организация переходов на другую страницу если страниц больше чем одна
================================ ================
if($iTotalPages > 1 ) {
echo "<div style='margin: 20px 20px 10px; padding: 4px 0px; border: 1px solid #DDDDDD; background-color: #FFFFFF; width: 100%;'align="center">n";
displayNav("index.php?lang=$lang&p=$p&id_type=$id_type&id_subtype=$id_subtype", $iTotalPages, $page, $DEF['PICT_PER_PAGE'], $iTotalRecords);
echo "</div>n";
================================ ===============

Здесь тоже всё нормально работает

Задача:
При нажатии на на сортировку по производителю
убрать "ограничения вывода на страницу товаров и организация переходов на другую страницу" и показать вывод всех товаров по выбранному производителю целиком

Решение:
В команде "оператора сравнения"
if($iTotalPages > 1 )
дописать сравнение типо:
if($iTotalPages > 1 && уже открыта страница сортировки по производителю и не надо запускать эту команду)

URL страницы до сортировки: index.php?lang=ru&p=4&id_type=1&id_subtype=213
URL страницы после сортировки: index.php?lang=ru&p=4&id_type=1&id_subtype=213&id_firm=27

т.е. надо дать возможность посетителю просто просматривать товары в данноц группе товаров и переходить по страницам ( это уже работает ) или при выборе сортировки по производителям показать весь список товаров относящийся к данной группе товаров целиком без перехода по страницам

Вывод:
что-то запутался - помогите пожалуйста

P.S. за ранее благодарен
 
 Top
kamikadze
Отправлено: 13 Июня, 2007 - 16:32:27
Post Id



Склонен к самоубийству


Покинул форум
Сообщений всего: 391
Дата рег-ции: Янв. 2007  


Помог: 0 раз(а)




Если ты хочеш делать проверку открыта ли страница, то я не знаю сможет ли это сделать даже Ява Скрипт!!!
 
 Top
valenok Модератор
Отправлено: 14 Июня, 2007 - 20:43:02
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




kamikadze
Цитата:
проверку открыта ли страница

ты не ту ключевую фразу выбрал

VladisOK
Для оптимальной навигации по страницам желательно использовать простой механизм MySQL в лице функции LIMIT

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $start = $_GET['start']; $length = 10;
  4. $rows = mysql_query("SELECT * FROM `table` LIMIT $start,$length");
  5. // А когда сортируешь по столбцу, просто запрос делай без Лимита.
  6.  



-----
Truly yours, Sasha.
 
My status
 Top
valenok Модератор
Отправлено: 14 Июня, 2007 - 23:26:52
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Post Scriptum:

PHP:
скопировать код в буфер обмена
  1.  
  2. URL страницы до сортировки: index.php?lang=ru&p=4&id_type=1&id_subtype=213
  3. URL страницы после сортировки: index.php?lang=ru&p=4&id_type=1&id_subtype=213&id_firm=27
  4.  


Ищем разницу и на основе этой разницы пишем условие.
Разница в существовании переданной переменной id_firm

Существование переменной проверяется http://php.net/isset


-----
Truly yours, Sasha.
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB