if (isset($assortiment['specifical_id']))
{
print ("<table><tr><td width=280px>$assortiment[short_name]
</td><td>
<select size='1' name='list[]'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='7'>7</option>
</select>
</td></tr></table>");
}
данные передаются обработчику. Вот часть кода
foreach ($_POST['list[]'] as $val)
{
$li = mysql_query ("SELECT * FROM `assort` WHERE `ID` = '$val'") or die(mysql_errors());
$limit = mysql_fetch_array ($li);
$res = mysql_query ("INSERT INTO result_details (result_id, prod_id, reas) VALUES ($id, $val, 1)");
print ("<table weght=280px align='center' ><tr>$limit[short_name]</tr></table><br>");
}
но обработчик выдает ошибку
Warning: Invalid argument supplied for foreach() in K:\home\localhost\www\new_merch\result.php on line 40
Подскажите что делать???
Спустя 16 минут, 13 секунд (25.04.2011 - 10:40) kirik написал(а):
Цитата (beabss @ 25.04.2011 - 03:23) |
Подскажите что делать??? |
Попробуйте заменить $_POST['list[]'] на $_POST['list'].
Ещё странно выглядит name='list[]', а так же у вас вероятно дырка ввиде sql инъекции: SELECT * FROM `assort` WHERE `ID` = '$val'..
Спустя 14 минут, 52 секунды (25.04.2011 - 10:54) beabss написал(а):
Попробуйте заменить $_POST['list[]'] на $_POST['list']. - работает
Но есть проблема мне необходимо чтобы вместе со значение из списка передовался id товара напротив которого он стоит.
Спустя 1 час, 28 минут, 58 секунд (25.04.2011 - 12:23) beabss написал(а):
сделал так:
Но ничего не получается.
if (isset($assortiment['specifical_id']))
{
$b = $assortiment[id];
print ("<table><tr><td width=280px>$assortiment[short_name]
</td><td>
<select size='1' name='list[$b]'>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='7'>7</option>
</select>
</td></tr></table>");
}
foreach ($_POST['list'] as $val)
printf ("$val<br>");
{
$li = mysql_query ("SELECT * FROM `assort` WHERE `ID` = '$val'") or die(mysql_errors());
$limit = mysql_fetch_array ($li);
$res = mysql_query ("INSERT INTO result_details (result_id, prod_id, reas) VALUES ($id, $val, 1)");
print ("<table weght=280px align='center' ><tr>$limit[short_name]</tr></table><br>");
}
Но ничего не получается.
Спустя 38 минут, 55 секунд (25.04.2011 - 13:02) linker написал(а):
if (isset($_POST['list']))
{
list($id, $val) = each($_POST['list']);
...
}
Спустя 11 минут, 36 секунд (25.04.2011 - 13:14) beabss написал(а):
Пишет таку вот ошибку
Parse error: syntax error, unexpected $end in K:\home\localhost\www\new_merch\result.php on line 59
Parse error: syntax error, unexpected $end in K:\home\localhost\www\new_merch\result.php on line 59
Спустя 2 минуты, 49 секунд (25.04.2011 - 13:17) linker написал(а):
Где-то фигурную скобку не закрыл.
Спустя 5 минут, 23 секунды (25.04.2011 - 13:22) beabss написал(а):
а этот код правильный??
Может еще сдесь что не так.
А там правда скобку упустил.
while ($assortiment = mysql_fetch_array ($assort))
{
if (isset($assortiment['specifical_id']))
{
$b = $assortiment[id];
print ("<table><tr><td width=280px>$assortiment[short_name]
</td><td>
<select size='1' name='list[$b]'>
<option value='7'>7</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
</select>
</td></tr></table>");
}
}
Может еще сдесь что не так.
А там правда скобку упустил.
Спустя 4 минуты, 55 секунд (25.04.2011 - 13:27) beabss написал(а):
как передать и id и значение в номер причины из списка???
Спустя 2 минуты, 16 секунд (25.04.2011 - 13:29) nugle написал(а):
beabss
а у вас этот код работает?
мне вот это вот не нравится
мне кажется так правильно
а у вас этот код работает?
мне вот это вот не нравится
$assortiment[id]
мне кажется так правильно
$assortiment['id']
Спустя 57 секунд (25.04.2011 - 13:30) beabss написал(а):
да работает.
Спустя 16 минут, 51 секунда (25.04.2011 - 13:47) beabss написал(а):
И всетаки как правильно передать postom в id товара и номер причины в одном массиве.
Спустя 4 часа, 3 минуты, 5 секунд (25.04.2011 - 17:50) liw написал(а):
Есть код:
<option value='id'>num</option>
Если ты хочешь передать и id и num то тут или использовать javascript,
или просто делать value вида id.num а потом это добро парсить
<option value='id.num'>num</option>
<option value='id'>num</option>
Если ты хочешь передать и id и num то тут или использовать javascript,
или просто делать value вида id.num а потом это добро парсить
<option value='id.num'>num</option>