[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Много позиций в одну ячейку
asdf27
Теория такова, что каждый зареганный может внести позиции прайса (от 50 до 500). Имена позиций заранее определены.

Как лучше поступить... каждую позицию в отдельную строку с идентификатором пользователя, либо записать через разделитель все позиции в одну ячейку? По этим же позициям планируется сделать поиск.

Пользователей будет менее 2000.



Спустя 3 часа, 35 минут, 58 секунд (13.08.2012 - 01:09) kamanch написал(а):
в отдельную строку

Спустя 16 часов, 46 минут, 42 секунды (13.08.2012 - 17:56) asdf27 написал(а):
Тогда еще вопрос. Позиции прайса ПРИ ПОИСКЕ лучше выдергивать по id, либо можно записывать название кириллицей, после чего делать выборку по запросу
WHERE position="Бла бла" ? (смущает момент кодировки)

Спустя 5 часов, 39 минут, 14 секунд (13.08.2012 - 23:35) kamanch написал(а):
Не понтно, что ты имеешь ввиду.
Но, в любом случае, если поиск по тексту для тебя более предпочтительный, то кодировка не должна смущать.
Помучайся разок, зато будешь уметь.
На форуме кодировкам посвящено очнь много тем. Всё давно разжеванно, пережеванно.

Спустя 3 минуты, 58 секунд (13.08.2012 - 23:39) inpost написал(а):
asdf27
При норм кодировке и проблем не будет.

Спустя 2 минуты, 50 секунд (13.08.2012 - 23:42) asdf27 написал(а):
Пример:

Есть позиция молоко, id 8.

В поиске выбираем позицию молоко, указываем диапазон 40 - 50 рублей.

Вид запроса.... :

SELECT * from Price WHERE product='Молоко' & .....

или

SELECT * from Price WHERE product_id=$id_элемента_формы & .....

------------------

Т.е. при неверной кодировке браузера клиента не вернется ли пустой запрос? Склоняюсь более к поиску по цифрам id

Спустя 4 часа, 21 минута, 59 секунд (14.08.2012 - 04:04) kamanch написал(а):
То что ты написал (2 примера) - это разная структура базы.
В переводе на человеческий язык оно звучит так:
Мне нужно поехать в Ярославль. Как лучше самолетом или через Тулу?

Определись со структурой.
Определись, какой инструментарий для поиска ты даешь пользователю (он вводит текст или выбирает из списка)
Тогда станет ясно с поиском.

Если ты даешь пользователю вводить текст, то тогда и в запросе к базе используешь название продукта.
Если пользователь выбирает продукт из списка, то в запросе будет id продукта, который выбрал пользователь.

Хотя, если стереть всё, что ты написал и оставить только
Цитата
В поиске выбираем позицию молоко, указываем диапазон 40 - 50 рублей.

То, видимо, ты даешь список и 2 поля для ввода диапазона цены.

echo "<option value='" . $p_id . "'>". $p_name . "</option>";
//............
echo "<input name='min_price' type='text' />";
echo "<input name='max_price' type='text' />";


И в запрос пошло что-то типа
"SELECT * 
FROM `price`
WHERE `product_id` = "
. $p_id . "
and `product_price` >= "
. $min_price . "
and `product_price` <= "
. $max_price;

Спустя 1 час, 40 минут, 18 секунд (14.08.2012 - 05:44) asdf27 написал(а):
Кажется я указывал, набор позиций фиксированный. Поиск не type-in, а идет выбор из <select>.

Твой пример как раз по второму варианту, хорошо его демонстрирует. На другом участке работа с id добавляет много запросов к базе, поэтому остановлюсь на первом варианте - поиск WHERE category="текстом".

Спасибо.
Быстрый ответ:

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