[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод информации из базы в переменные
Herundinea
Здравствуйте!
Нужна помощь в коде.
Надо создать форму поиска по параметрам с выпадающими списками для интернет- магазина. Параметров несколько, и они содержатся в разных таблицах. Пункты выпадающего списка должны подцепляться из базы. То есть если в таблице присутствует 2 записи- в выпадающем списке их тоже должно быть 2, если в таблице 3 записи, то 3 и.т.д. Как это лучше сделать?



Спустя 29 минут, 33 секунды (16.03.2011 - 15:15) sebastjan написал(а):
Я так понял что у вас нет ещё ничего, то есть кода.
Для начала наверное лучше попробовать работать с БД.
подключиться, найти, вывести.
Я лично так начал.

Спустя 6 минут, 21 секунда (16.03.2011 - 15:21) Herundinea написал(а):
Уже есть база данных. В ней 100+ таблиц с кучей разных параметров. Доступ к базе я сделал, выборку сделал. Мне надо именно подсказать как реализовать то что описано в первом посте. С БД я работал, и не раз. Просто никогда не сталкивался с подобными задачами, и в доступной литературе нет никаких намеков на способы решения проблемы. Я сюда пишу уже от безысходности...

Спустя 2 минуты, 8 секунд (16.03.2011 - 15:23) m4a1fox написал(а):
Herundinea
Код ваш в студию...

Спустя 1 минута, 14 секунд (16.03.2011 - 15:24) gaserge написал(а):
циклами наверно... если я правильно понял.

Спустя 30 секунд (16.03.2011 - 15:25) alex12060 написал(а):
Кинь код и примерную структуру БД.
Поможем, это не сложно)

Спустя 10 минут, 21 секунда (16.03.2011 - 15:35) Herundinea написал(а):
хм... Кода как такового еще нет. Я просто не знаю с чего начать и с какой стороны подступиться. Есть база, в ней таблицы содержащие товары, наименование категорий товаров, цены, свойства категорий и много чего еще, но основные критерии я перечислил. Нужно каким- то образом сделать форму поиска так, чтобы она подцепляла из нужных таблиц значения и выводила их в выпадающий список в форме поиска в качестве опции запроса. Потом этот запрос будет искать конкретные записи подходящие под совокупность признаков. Дело в том что многие признаки хранятся в разных таблицах, и объединить их в одну нет никакой возможности- просто навернется весь модуль. Я пытался сделать это через цикл do while, но ничего из этого не получилось. Подцепляет только последнюю запись, а нужны все. Я не прошу за меня кодить, дайте хоть какие- нибудь советы (кроме гугления)... Надеюсь на понимание)))

Спустя 5 минут, 8 секунд (16.03.2011 - 15:40) alex12060 написал(а):
Есть здесь люди, которые понимают на объяснениях, я пока только понимаю, что тебе нуждны якори для подцепления нужной инфы и вывода, но я не знаю расположения твоей БД.

Будет хорошо, если ты снимишь скрин первых 2-3 строк из БД, с названием твоих полей и кинешь сюда, я тебе смогу сказать конкретней.

А так - циклы, запросы, аякс, ГЕТ, ПОСТ, формы, объединения, инкременты (уникальные поля), логика и подобное))

Спустя 1 минута, 42 секунды (16.03.2011 - 15:42) sebastjan написал(а):
Ну я так понимаю что надо сортировать до запроса к базе.
1.выпадающий парамер(класс артикля или т.п)(телевизоры,кофейники)
{условие если выбор только по классу-к примеру(кофейник) поиск по таблицам всё что с именем кофейник}
и так дальше
2.выпадающий параметр(фиры изготовители)(соня, филипс)
3.парамет (по цене)(100 до200, 200 до 300)(по умолчанию стоит минимальная цена)
Сначало сортируем что выбрал пользователь, а потом обращение к соответствующим таблицам где они лежат, вернее поис по базе соответствий сортировки.
Правда есть одно НО, очень много разных мнений по структуре Базы, так что по любому надо структуру базы анализировать.
Пока думал, вы написали что нужна сама форма поиска..

Спустя 4 минуты, 2 секунды (16.03.2011 - 15:46) sebastjan написал(а):
Цитата (alex12060 @ 16.03.2011 - 12:40)
Есть здесь люди, которые понимают на объяснениях, я пока только понимаю, что тебе нуждны якори для подцепления нужной инфы и вывода, но я не знаю расположения твоей БД.

Будет хорошо, если ты снимишь скрин первых 2-3 строк из БД, с названием твоих полей и кинешь сюда, я тебе смогу сказать конкретней.

А так - циклы, запросы, аякс, ГЕТ, ПОСТ, формы, объединения, инкременты (уникальные поля), логика и подобное))

Про *якори* если не сложно подскажите ?

Спустя 6 минут, 57 секунд (16.03.2011 - 15:53) Herundinea написал(а):
Цитата (sebastjan @ 16.03.2011 - 12:42)
Ну я так понимаю что надо сортировать до запроса к базе.
1.выпадающий парамер(класс артикля или т.п)(телевизоры)
2.выпадающий параметр(фиры изготовители)(соня, филипс)
3.парамет (по цене)(100 до200, 200 до 300)
Сначало сортируем что выбрал пользователь, а потом обращение к соответствующим таблицам где они лежат, вернее поис по базе соответствий сортировки.
Правда есть одно НО, очень много разных мнений по структуре Базы, так что по любому надо структуру базы анализировать.

Именно это я и мел в виду. Только не до запроса к базе а так чтобы из базы и брались эти пункты. Например я с помощью других средств добавил новый вид товара (например кофеварки), и при обновлении страницы этот вид товара автоматически появляется в выпадающем списке. Этот параметр содержится в одной из строк таблицы product_type. Сейчас я еще скринов с БД наделаю и выложу.

Спустя 6 минут, 5 секунд (16.03.2011 - 15:59) Herundinea написал(а):
Галочками отмечены используемые таблицы.

Спустя 4 минуты, 15 секунд (16.03.2011 - 16:03) Herundinea написал(а):
Отсюда должен браться первый выпадающий список состоящий из всех записей колонки product_type_name

Спустя 1 минута, 4 секунды (16.03.2011 - 16:04) Herundinea написал(а):
Остальное делается точно так же по одному шаблону.

Спустя 30 минут, 6 секунд (16.03.2011 - 16:34) sebastjan написал(а):
Так значит надо наверное сделать сначала модуль для формы(саму форму).
Если не будут создаваться новые таблицы для товара а есть их фиксированное количество,
то в форме (класс артикел(кофеники или телевизоры)) вывод из Базы классов.
то есть я думаю так в форме

фирмы->(вывод из таблицы имя фирм)
|
соня
филипс

правдая не понятно ,рассмотрел что цена по артиклям в другой таблице,
это всё как то соеденино?!
Я у себя сделал может быть и топорно но проще в понимании для меня,
каждая таблица это определённый класс артикля(к примеру *телевизоры соня* ).
поля.(id)(name)(preis)(foto)
Но тут вопрос по другому, не надо создавать новые таблицы а выводить из уже имеющихся.

Спустя 5 минут, 46 секунд (16.03.2011 - 16:40) sebastjan написал(а):
так вы ведь сами и ответили, из таблицы,ячейки product_type_name в выпадающий список имена.

Спустя 6 минут, 50 секунд (16.03.2011 - 16:47) sebastjan написал(а):
$result = mysql_query("SELECT * FROM `jos_vm_product_type` ");
while ($row= mysql_fetch_assoc($result))
{
echo $row['product_type_name']; #это в выпадающем меню наименования
}

Спустя 13 минут, 35 секунд (16.03.2011 - 17:01) Herundinea написал(а):
Дело в том что я пишу дополнительную опцию к уже готовому модулю джумлы. Если кто слышал- virtue mart называется. Это готовый интернет- магазин. Но вот расширенный поиск там ужасный, вот и надо переделать. Если бы я мог- я бы многое изменил в структуре, но увы, это невозможно. А по поводу "сначала создать форму", так а что в этой форме будет- то? Она должна заполняться сама. Можно конечно вручную задать все option в input- select, но тогда при любом изменении придется вручную это исправлять. А это, согласитесь, не очень удобно и правильно... Конечно если решение не будет найдено в ближайшие 2-3 дня я так и сделаю...

Спустя 30 минут, 50 секунд (16.03.2011 - 17:31) Renden написал(а):
Herundinea
Тебеж написали

echo '<form method="post" action="bla-bla"><select>';
$result = mysql_query("SELECT * FROM `jos_vm_product_type` ");
while ($row= mysql_fetch_assoc($result))
{
echo '<option>'.$row['product_type_name'].'</option>'; #это в выпадающем меню наименования
}
echo '</select></form>';

В итоге имеем форму с выпадающим списком.

Спустя 3 минуты, 47 секунд (16.03.2011 - 17:35) inpost написал(а):
Renden
А ты уверен, что у тебя всё правильно написано? Будет ошибка 100% +)

Спустя 3 минуты, 49 секунд (16.03.2011 - 17:39) Renden написал(а):
inpost
вроде так, да невнимательность -бида %)

Спустя 4 часа, 44 минуты, 39 секунд (16.03.2011 - 22:24) sebastjan написал(а):
Цитата (Herundinea @ 16.03.2011 - 14:01)
Дело в том что я пишу дополнительную опцию к уже готовому модулю джумлы. Если кто слышал- virtue mart называется. Это готовый интернет- магазин. Но вот расширенный поиск там ужасный, вот и надо переделать. Если бы я мог- я бы многое изменил в структуре, но увы, это невозможно. А по поводу "сначала создать форму", так а что в этой форме будет- то? Она должна заполняться сама. Можно конечно вручную задать все option в input- select, но тогда при любом изменении придется вручную это исправлять. А это, согласитесь, не очень удобно и правильно... Конечно если решение не будет найдено в ближайшие 2-3 дня я так и сделаю...

Тогда я вообще не очень понимаю, вы сами код не показываите,
обратились по поводу логики, вроде ответов исчерпающих более чем.
Расширенный поиск(имеющийся) вы хотите переделать что ли так?
Что касательно формы- так она и будет сама заполняться из скрипта ПХП.
ваши слова
Цитата
*я  пишу дополнительную опцию к уже готовому модулю джумлы.*

честно говоря не понял я вас, как можно что то писать на ПХП и тут же говорить

Цитата
*А по поводу "сначала создать форму", так а что в этой форме будет- то? Она должна заполняться сама. Можно конечно вручную задать все option в input- select,*


Так для этого и есть ПХП чтоб
1- соединиться с базой
2- найти нужное
3- вывести нужное в нужное место


Быстрый ответ:

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