09.06.2006, 13:56
общий
это ответ
Здравствуйте, Eliz!
А что если посмотреть, какая получается результате форма? Получается так:
<input type=text name=N1 value=‘иванов‘>
<input size=20 type=text name=N2 value=‘Иван‘>
<input type=checkbox name=X1>
<input type=text name=N1 value=‘Петров‘>
<input size=20 type=text name=N2 value=‘Петр‘>
<input type=checkbox name=X1>
...
Переменные-то называютс одинаково! Как же ты хочешь чтобы PHP их отличал?
Сделать надо так:
mysql_select_db(‘compik‘);
$query = "select * from rab where ceh_id = ‘$cehid‘";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);
echo "<p>Найдено записей : ".$num_results."</p>";
echo "<table width=200 border=1>";
echo "<form method=get action=ceh_edit.php>";
for ($i=0; $i <$num_results; $i++)
{
$row = mysql_fetch_array($result);
echo "<tr>";
echo "<td> <input type=text name="N1[]" value=‘$row[ceh_id]‘>
</td>";
echo "<td> <input size=20 type=text name="N2[]" value=‘$row[rab_name]‘>
</td>";
echo "<td> <input type=checkbox name="X1[]" value=‘$row[rab_id]‘>edit
</td>";
echo "</tr>";
}
Так при сабмите на сервер отправятся 3 массива:
N1, N2, X1. Только вот в массиве X1 будут только те значения которые были отмечены.
Я бы на твоем месте вообще не делал никаких галочек, а просто вывел бы hidden-поле для каждой записи, тоже указав [], чтобы был массив(<input type="hidden" name="ids[]" value="$ID">). А потом прошелся бы по этому массиву, и, используя в виде ключа значение, которое является ID для каждой записи. И все, все что надо - обновлено :)
Хочешь - можешь подумать, как это делать с галочками. Там тебе надо будет тоже делать hidden-поле, и действовать аналогично, но замену проводить только там где была выбрана галочка.
Полезная функция для этого - in_array(), про нее - на php.net почитай