Здравствуйте. В общем такая проблема: из таблицы выводятся значения (например список предметов),для того чтобы выбрать нужные, добавить к ним дополнительные опции (например количество часов и т.д. ) и отправить эти данные в другую таблицу. Как я понимаю, у каждого элемента (типа <input> ) должны меняться имена в каждой последующей строчке, я сделал путем добавления id предмета к префиксу (см. ниже: name='lek".$id_sub."' ). Вопрос собственно такой: как потом обработать каждую строчку (т.е. каждая строка должна быть чем-то вроде контейнера) и добавить выбранные данные в другую таблицу. За ранее спасибо.
Вот пример кода, который выводит строки с данными:
Код:
if ((isset($act)) and ($act == 4)) {
$result = mysql_query("SELECT * FROM subjects",$db) or die (mysql_error());
$myrow = mysql_fetch_array($result);
echo "Выберите нужные предметы из списка";
echo "<form name='form' method='post' action='$PHP_SELF?id=$id'>
<table border=1>
<tr>
<td><input type='checkbox' onclick='toggleCheckAll(this.checked);'></td>
<td>Предмет</td>
<td>Кафедра</td>
<td>Лекц.часы</td>
<td>Практ.часы</td>
<td>Лаб.часы</td>
<td>Аттестация</td>
<td>Зачет</td>
<td>Экзамен</td>
</tr>";
do
{
$res = mysql_query("SELECT * FROM kafed WHERE id=".$myrow["id_kaf"],$db) or die (mysql_error());
$kaf = mysql_fetch_array($res);
$id_sub = $myrow["id_sub"];
echo "<tr>
<td><input type='checkbox' name='".$id_sub."' value='".$id_sub."'></td>
<td>$myrow["name_sub"]</td>
<td>$kaf["kaf_name"]</td>
<td><input type='text' size='12' name='lek".$id_sub."'></td>
<td><input type='text' size='12' name='prakt".$id_sub."'></td>
<td><input type='text' size='12' name='lab".$id_sub."'></td>
<td><input type='checkbox' name='attest".$id_sub."' value='1'></td>
<td><input type='checkbox' name='zach".$id_sub."' value='1'></td>
<td><input type='checkbox' name='ekz".$id_sub."' value='1'></td></tr>";
}
while ($myrow = mysql_fetch_array($result));
echo "</table><br>";
echo "<input type='Submit' name='add' value='Добавить'></form>";
}
Здравствуйте. В общем такая проблема: из таблицы выводятся значения (например список предметов),для того чтобы выбрать нужные, добавить к ним дополнительные опции (например количество часов и т.д. ) и отправить эти данные в другую таблицу. Как я понимаю, у каждого элемента (типа <input> ) должны меняться имена в каждой последующей строчке, я сделал путем добавления id предмета к префиксу (см. ниже: name='lek".$id_sub."' ). Вопрос собственно такой: как потом обработать каждую строчку (т.е. каждая строка должна быть чем-то вроде контейнера) и добавить выбранные данные в другую таблицу. За ранее спасибо.
<>
А в чем проблема?
данные так и придут к вам в массиве $_POST[<имя переменной>].
сделайте обработку вроде
//ассоциативный массив, содержащий всю информацию, пришедшую из формы
$alldata = array(
'subject' => array(),
'lekt_time' => array(),
//<и так далее по количеству столбцов>
);
$i = 0;
while(isset($_POST[$i])){//значения чекбоксов
$alldata['subject'][$i] = htmlspecialchars($_POST[$i]);
$alldata['lekt_time'][$i] = htmlspecialchars($_POST['lek'.$i]);//стоит поступать с осторожностью. поскольку скрипт может быть вызван извне с неполным набором переменных.
//и так далее
$i++;
}
или обработать форму javascript, сделав так, чтобы данные передавались в каком-нить внутреннем формате, придуманном вами.