|
|
|
| Помогите разобраться ...
Это код формы
for($i=0; $i<$mass; $i++) // До сюда всё Запипиристо :))
{
echo ($arrava[$i]."<br>");
echo "<input type=hidden name=\"id_update\" value=\"$arrava[$i]\">
<TEXTAREA NAME=\"correct[]\" WRAP=\"virtual\" COLS=\"40\" ROWS=\"3\">
".mysql_result($ath,0)."
</TEXTAREA><br>";
}
|
а это код обработчика
$boxlist = $_POST['correct'];
$hidden = $_POST['id_update'];
if(!is_array($boxlist)) // если передан один элемент,
$boxlist = array($boxlist); //делаем из него массив :)
if(!is_array($hidden)) // если передан один элемент,
$hidden = array($hidden); //делаем из него массив :)
foreach($boxlist as $box[])
foreach($hidden as $hid[])
$mass = count($boxlist);
////////////////////////////////////////
for($i=0; $i<$mass; $i++)
{
$arrava[$i]=$box[$i];
$id_hid[$i]=$hid[$i];
}
for($i=0; $i<$mass; $i++) // До сюда всё Запипиристо :))
{
echo ($id_hid[$i]."<br>");
echo ($arrava[$i]."<br>");
}
|
Должны вывлдиться $id_hid и $arrava циклом ... $arrava[$i] выводится циклом, а $id_hid только одно значение (выводитя циклом но одно и тоже ...)
$mass у них одинаковое.
Если что то непонятно то эти два файла в аттаче ... | |
|
|
|
|
|
|
|
для: Oligarx
(27.03.2006 в 11:24)
| | Долго чесал репу. Вот эти строки не понял вообще.
foreach($boxlist as $box[])
foreach($hidden as $hid[])
$mass = count($boxlist);
|
| |
|
|
|
|
|
|
|
для: Trianon
(27.03.2006 в 11:35)
| | foreach обходит массив ... и можно обращаться к элементам массива как $box[]
а $mass число элементов в массиве ... для цикла
правда наверно нужно написать $mass = count($box[]);
хотя и так работало .... | |
|
|
|
|
|
|
|
для: Oligarx
(27.03.2006 в 11:47)
| | Вот так эта конструкция интерпретируется движком.
foreach($boxlist as $box[])
foreach($hidden as $hid[])
$mass = count($boxlist);
|
1. Чем не устраивало обращаться к элементам массива boxlist как к boxlist[]? Зачем нужно было создавать точную копию массива boxlist с именем box?
2. Чем не устраивало обращаться к элементам массива hidden как к hidden[]? Зачем нужно было создавать точную копию массива hidden с именем hid?
3. Зачем действия по копированию массива hidden повторять 20 раз (точнее - для каждого элемента boxlist)?
4. Зачем действия по подсчету числа элементов массива boxlist повторять 400 раз (точнее - для каждого сочетания элементов boxlist и hidden)?
Если Вам не нравятся имена boxlist и hidden - измените их на те, которые нравятся:
$box = $_POST['correct'];
$hid = $_POST['id_update'];
|
Но не усложняйте код. Вам же самому в нем будет не разобраться, даже если забыть о других людях. | |
|
|
|
|
 959 байт |
|
|
для: Trianon
(27.03.2006 в 12:05)
| |
<?
require("../../../req/mysql.class");
$my=new class_mysql;
$my->sql_connect();
$boxlist = $_POST['correct'];
$hidden = $_POST['id_update'];
if(!is_array($boxlist)) // если передан один элемент,
$boxlist = array($boxlist); //делаем из него массив :)
if(!is_array($hidden)) // если передан один элемент,
$hidden = array($hidden); //делаем из него массив :)
// foreach($boxlist as $box[])
// foreach($hidden as $hid[])
$mass = count($boxlist);
////////////////////////////////////////
for($i=0; $i<$mass; $i++)
{
$arrava[$i]=$boxlist[$i];
$id_hid[$i]=$hidden[$i];
}
for($i=0; $i<$mass; $i++) // До сюда всё Запипиристо :))
{
///////////////////$query="SELECT msg FROM tb_gvest WHERE id_msg=$arrava[$i];";
///////////////////$ath = mysql_query($query);
echo ($id_hid[$i]."<br>");
echo ($arrava[$i]."<br>");
}
echo(mysql_error());
?>
|
теперь почему то ругается на $id_hid[$i]=$hidden[$i];
Notice: Undefined offset: 1 in z:\home\localhost\www\gvest\www\admin\func\func_update.php on line 20
Notice: Undefined offset: 2 in z:\home\localhost\www\gvest\www\admin\func\func_update.php on line 20
и теперь $id_msg[$i] выводится выще только один раз | |
|
|
|
|
|
|
|
для: Oligarx
(27.03.2006 в 12:56)
| | Эти строки тоже уберите:
if(!is_array($boxlist)) // если передан один элемент,
$boxlist = array($boxlist); //делаем из него массив :)
if(!is_array($hidden)) // если передан один элемент,
$hidden = array($hidden); //делаем из него массив :)
|
Почему Вы полагаете , что передаете целый массив id_update?
Поле <input type=hidden name=id_update value= ...> позволит передать только одно значение, сколько б вы его не повторяли.
Вот и получается, что один массив у Вас - массив. А другой - искусственный массив из одного элемента.
Смотрите собственную [url=?id_forum=1&id_theme=14730 ]тему form, там[/url] подробно все расписано (20.03.2006 в 13:34). | |
|
|
|
|
|
|
|
для: Trianon
(27.03.2006 в 13:30)
| | Ё моЁ ... так бы и сказали ... я просто забыл (опечатолся или ещё чего) поставить скобки [] в этой строчке
<input type=hidden name=\"id_update[]\" value=\"$arrava[$i]\">
|
теперь всё работает ... теперь действительно передаётся массив $id_update[];
Всем спасибо ... | |
|
|
|