Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Скрипт сравнения
 
 автор: home-studia   (06.08.2012 в 15:04)   письмо автору
15.1 Кб
 
 

Здравствуйте.
Очень нужна ваша помощь, даже близко не предполагаю, как можно реализовать, то что задумано.
Дано: Некая страничка на которой предлагается сравнить между собой какие-то вещи, например «Шоколадка №1» и «Шоколадка №2» плюс можно нажать кнопку «Добавить шоколадку» и появится еще одна строчка, где можно будет выбрать «Шоколадка №3» и т.д. После нажатия кнопки «Сравнить» выводится информация о выбранных шоколадках например из какой-то mysql таблицы и строки «вес». Получится что-то вроде:
Шоколадка №1 – 90г.
Шоколадка №2 – 80г.
Может быть есть уже готовые решения? Или помогите, пожалуйста, как можно такое сделать.

  Ответить  
 
 автор: confirm   (06.08.2012 в 15:15)   письмо автору
 
   для: home-studia   (06.08.2012 в 15:04)
 

Делайте запрос по этим шоколадкам (правда бог знает чего, так как вам только известно, что сравнивать надо), и сравнивайте.

  Ответить  
 
 автор: home-studia   (06.08.2012 в 16:09)   письмо автору
 
   для: confirm   (06.08.2012 в 15:15)
 

Попробую расписать все более подробно.

Допустим, есть некая таблица “cms_sravnenie” вот с такой структурой:
Id – уникальный номер в таблице
Name – название шоколадки
Info1 – информация о весе
Info2 – информация о производителе
Info3 – информация о цене

Пусть у нас в этой таблице будет запись о 4 шоколадках
1-Шоколадка1-60г-РФ-100р
2-Шоколадка2-65г-РБ-101р
3-Шоколадка3-65г-РФ-102р
4-Шоколадка4-70г-РФ-103р

На нашей страничке, про которую я писал выше выбираем для сравнения «Шоколадка1» + «Шоколадка3» и жмем кнопку сравнить. В итоге на страничке должна отобразиться информация в таком виде:

Вес:
Шоколадка1 – 60г
Шоколадка3 – 65г

Производитель:
Шоколадка1– РФ
Шоколадка3– РФ

Цена:
Шоколадка1 – 100р
Шоколадка3 – 102р

Вот как-то так, как можно это сделать, помогите пожалуйста?

  Ответить  
 
 автор: confirm   (06.08.2012 в 16:30)   письмо автору
 
   для: home-studia   (06.08.2012 в 16:09)
 

Ну что же, давайте разбираться. У вас "страничка на которой предлагается сравнить между собой какие-то вещи, например «Шоколадка №1» и «Шоколадка №2»", и каждая из этих шоколадок имеет свой id. Достаточно сделать запрос для id IN(id_1, id_2) и вывести содержимое. То есть, собственно говоря, никакого сравнения то и нет. Но, я как пользователь действительно хочу сравнить, а не просто получить все, что вы мне вываливаете. Например, я хочу:
а) выбрать произвольный товар для сравнения, и если есть, то...
б) сравнить по цене;
в) сравнить по цене из диапазона цен;
г) сравнить по цене и весу
д) не только сравнивать по указанным характеристикам, но еще только тех производителей, которых я предпочитаю
е) и еще много других условий

Вот это выбор для сравнения. У вас такого нет, у вас есть некий список шоколадок, которые надо сравнивать. Делается запрос по их id, и ... то, что я писал выше. Правда это табличные данные, и проще вывести таблицу, нежели списком, который вы представили.

  Ответить  
 
 автор: home-studia   (06.08.2012 в 16:45)   письмо автору
 
   для: confirm   (06.08.2012 в 16:30)
 

«Достаточно сделать запрос для id IN(id_1, id_2) и вывести содержимое.»
Помогите, пожалуйста, с кодом. Наверняка для вас он пустяковый, а мне очень долго нужно будет искать. Как должен выглядеть код запроса к базе (где выбираем шоколадки для сравнения) и код который выводит результат. Большое спасибо.

  Ответить  
 
 автор: confirm   (06.08.2012 в 17:16)   письмо автору
 
   для: home-studia   (06.08.2012 в 16:45)
 

И как я вам напишу конкретное, не зная, чего у вас там вообще есть? Ну например, пусть Шоколад №1, Шоколад №2, и др..., это список со множественным выбором (что у вас там в реальности, я не знаю), опции которого содержат id этих продуктов, который имеет имя "set", и форма передается методом POST, тогда
<?
//формируем строку параметров для запроса
$id implode(","array_map("intval"$_POST['set']));
//запрос
$q mysql_query("SELECT * FROM table_name WHERE id IN(".$id.")");
if(
$q) {
   if(
mysql_num_rows($q)) {
      while(
$row mysql_fetch_assoc($q)) {
         
//вывод таблицы 
      
}  
   } 
}

А конкретно свое, это вы уже сами подставляйте.

  Ответить  
 
 автор: Lotanaen   (06.08.2012 в 16:32)   письмо автору
 
   для: home-studia   (06.08.2012 в 16:09)
 

***

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования