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 :: Вывод в форме оригинального пункта
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июнь 2009
Помог: 0 раз(а)
Здравствуйте, старшие товарищи! Подскажите, пожалуйста новичку, как ему справиться со следующей проблемой:
Есть у меня в БД табличка 'shariki', в которой три столбца: 'id', 'color' и 'size'. В этой таблице содержатся характеристики воздушных шариков 7-ми цветов и 50-ти различных вариантов размера. Я делаю форму поиска, в которой пользователь может выбирать шарики по характеристикам:
Так вот, и как вы уже поняли у меня селектор выбора цвета имеет не 7 полей, а 50. Как быть?! Отредактировано модератором: Champion, 21 Июня, 2009 - 17:48:09 [php]
JustUserR
Отправлено: 21 Июня, 2009 - 15:01:09
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
carakurt Проще всего сделать два отдельных запроса SELECT DISTINCT color FROM shariki и SELECT DISTINCT size FROM shariki При этом DISTINCT означает выборку без повторений
А можно и не делать два запроса - просто вытащите из ассоцмасива данных БД все неповторябщиеся данные по столбцам color и size
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
carakurt
Отправлено: 21 Июня, 2009 - 16:14:41
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Июнь 2009
Помог: 0 раз(а)
Т.е если использовать один запрос, то выглядеть он будет так:
SELECT DISTINCT * FROM shariki?
Ch_chov
Отправлено: 21 Июня, 2009 - 17:11:53
Постоянный участник
Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008 Откуда: из города
Помог: 90 раз(а)
1. Не совсем понятно какие записи хранятся в таблице.
В любом случае SELECT DISTINCT * FROM shariki вернёт все уникальные записи из таблицы. Если в таблице поле `id` или `size` уникально, то данный запрос всегда будет выдавать все записи таблицы.
Если ты очень хочешь ограничиться одним запросом, то сохраняй результат в массив. А потом выбирай из него уникальные значения. Например с помощью array_unique .
2. Не пойму как у тебя 2 раза подряд выполняется данная конструкция?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.