Доступ к массиву полученого от массива checkbox

sahnovich

Новичок
Доступ к массиву полученого от массива checkbox

Всем привет. Есть такая проблема.
Есть форма:
PHP:
<input type="Checkbox" name="proiz[]" 										value="{$proizvod[proiz].id_proizvod}" >{$proizvod[proiz].name}
<input type="Checkbox" name="categ[]" value="{$categ[categ].id_cat}" >{$categ[categ].name}
1-ый флажок устанавливает производителя. ПОльзователь может выбрать несоклько.
2-ый флажок устанавливает категорию товара. Их тоже можно выбрать несколько.

Надо сделать обработчик что бы он на основании выбраных парметров , зделал выборку из таблицы. Проблема в том что не могу саброзить как составить запрос если например кол-во элементов массива одного фложка может быть от 1 до 7.
 

Фанат

oncle terrible
Команда форума
что означает заголовок темы?
тебя доступ к массиву интересует или составление запроса?

для начала напиши запрос руками, такой, какой хочешь получить исходя из определенного расположения галочек в чекбоксах.
потом смотри глазами, как получить из массива такую строку.
все просто
 

sahnovich

Новичок
Ведь в массиве может быть один или несколько элементов. Надо составить запрос на основании кол-ва елементо данного массива.
Т.е.
PHP:
$sql="SELECT *FROM product where product.id_prioizvod={$proizvod[proiz].id_proizvod}"
{$proizvod[proiz].id_proizvod}- их может быть выюранно несколько.
 

Фанат

oncle terrible
Команда форума
глядя на вас, молодые люди, можно только лишь тяжело вздохнуть.
вы не в состоянии даже разделить задачу на этапы. и решать их по очереди.

ты не знаешь даже, КАК должен выглядеть запрос, который ты хочешь составить!

тебе надо забыть про чекбоксы вместе со всем Html и про пхп с массивами.
и начала научиться составлять запросы.
 

sahnovich

Новичок
а чем плох запрос?

-~{}~ 05.03.07 16:07:

сначала:
есть форма:
PHP:
<input type="Checkbox" name="proiz[]">Asus</>
<input type="Checkbox" name="proiz[]">Asrock</>
<input type="Checkbox" name="proiz[]">MCI</>
Полсе выбора пользователь преходит на другую страничку.
Где скрипт должен на основании выбраных пользователям данных сделать запрос. Но пользователь может выбрать как 1 так и несколько позиций.Так вот как правельно сделать если выбрано несколько позиций. Что бы на основании этих данных составить запрос.
 

Фанат

oncle terrible
Команда форума
чем? какая лапочка! она спрашивает, чем плох запрос! Ну не прелесть ли? =)

у тебя есть phpmyadmin? или, может быть, ты когда-нибудь видел консоль mysql? попробуй взять этот свой запрос и там выполнить. и тебе скажут - чем плох этот запрос. причём не вредный дядька с форума ,а сама база. ей-то ты поверишь?

-~{}~ 05.03.07 16:10:

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

как слышно меня? приём.
 

sahnovich

Новичок
ща исправлюсь!!!!

-~{}~ 05.03.07 16:21:

запрос должен быть такой :
PHP:
$my_query="SELECT id_product FROM product where id_proizvod='".$_REQUEST['proiz'][0]."'";
если сделать так $_REQUEST['proiz'][0] то выбор происхоит по одному эл.массива по 1 . Но не могу понять как сделать если кол-во элементов в массиве несколько.
 

Фанат

oncle terrible
Команда форума
повторяю в третий раз.
это не запрос. это пхп код.
РЕКОМЕНДУЮ сделать то, о чём я писал выше.
 

sahnovich

Новичок
написал запрос вот он:
PHP:
SELECT * 
FROM product
WHERE id_proizvod =4
OR id_proizvod =5
OR id_proizvod =1
LIMIT 0 , 30
все отлично , работает. Но теперь мне надо место этих значение посавиь значения из формы. Так вот еси выбрано несколкьо значений то как в этот запрос.? Подскажи плиз.
 

Фанат

oncle terrible
Команда форума
слава тебе господи
пол дня не прошло

-~{}~ 05.03.07 16:36:

то есть, тебе из массива (1, 4, 5) нужно получить строку

id_proizvod =1 OR id_proizvod = 4 OR id_proizvod = 5

правильно?
 

Фанат

oncle terrible
Команда форума
ты вообще умеешь работать с массивами? в цикле там перебирать?

возьми теперь в пхп тестовый массив сделай $a=array(1,2,3);
и с ним тренируйся.
 

sahnovich

Новичок
PHP:
for($k=0;$k<count($_REQUEST['proiz']);$k++)
		{
		echo'Выбранно:'.$_REQUEST['proiz'][$k]
		}
показывает что выбранно несколько значений.
У меня не получаеться составить логику, подставить все эти значение в запрос.
 

Фанат

oncle terrible
Команда форума
а зачем ты пишешь слово "выбранно" если тебе нужно в запросе совсем другое?
 

Фанат

oncle terrible
Команда форума
ну так пиши для себя именно то что хочешь получить.

вообще-то, работа с циклами - это БАЗОВОЕ понятие в программировании.
и как тебя угораздило добраться до работы с БД минуя вывод строки с циклически повторяющимися элементами - для меня загадка.
 

sahnovich

Новичок
Втсвка данных в запрос из массива

Подскажите плиз как сделать.


Надо вставить в запрос значение из массива. Где кол-во элементов может быть разное.

Задача.
Имееться массив:
PHP:
$a=array(0,1,2,3,4,5);
И имееться MySQL зопрос:

PHP:
SELECT *   FROM `product`   WHERE id_proizvod =$a[0]  OR id_proizvod =$a[1] LIMIT 0 , 30
Впрос в следующем. Как мне вставить в запрос все значения из массива. Если чсило значение зависит от выбора пользователей. Их может быть от 1 до 10.
Подскажите плиз.
 

Фанат

oncle terrible
Команда форума
Во-первых, не надо создавать новую тему со старым вопросом.
Во-вторых, если тебе надо составить строку определённого формата, то к MySQL это никаким боком не относится.

-~{}~ 06.03.07 12:38:

в-третьих, ты уже уже начинал делать.
Ну так продолжай!
В цикле перебирай массив, и составляй строку

-~{}~ 06.03.07 12:51:

ты пойми сначала, что тебе надо вставить НЕ В ЗАПРОС!

тебе надо получить просто СТРОКУ.

делается это в два этапа.
1. пишешь строку руками
2. пишешь программу на пхп, которая эту строку формирует.
и постоянно сравниваешь.
как только строки стравнялись - программа готова.
понятно?
 

sahnovich

Новичок
А можно ли сделать так и будет ли так правельно?

PHP:
$array=(1,2,3,4);
преобразую его в строку, и потом эту строку я вставляю в запрос вот так вот:
PHP:
SELECT * FROM `product` where id_categor in($string)
Можно ли так делать и парвельно ли это будет?
 

Фанат

oncle terrible
Команда форума
Этим мы займемся на втором уроке.
а пока твое упражнение - получить из массива (1, 4, 5) и кода пхп строку
id_proizvod =1 OR id_proizvod = 4 OR id_proizvod = 5

пойми - если ты не в состоянии работать со строками, то тебе нельзя вообще больше ничего писать на пхп.
 
Сверху