|
|
|
| Здравствуйте, У меня возникла следующая проблема:
необходимо обновить сразу несколько записей в базе.
Вот код вывода формы:
<form name="postform" method="post" action="edit_dochazka.php">
<input value="<? echo $dochazka['pred_id']; ?>" type="hidden" name="pred_id">
<TABLE cellpadding="5" cellspacing="1" border="0">
<tr><td align="center" colspan="2">Dochazka studentu (predmet <? echo $dochazka['predmet_nazev']; ?>)</td></tr>
<tr>
<td ><span class="style2">Student:</span></td> <td ><span class="style2">absence (hod)</span></td><td><span class="style2">absence za tento tyden</span></td>
</tr>
<?
while( $student = @mysql_fetch_array($abc2))
{
echo "
<tr>
<td><input value=";
echo $student['stud_id'];
echo " type=hidden name=stud_id>";
echo $student['jmeno'];
echo ' ';
echo $student['prijmeni'];
echo '</td><td align=center><input type=hidden name=hodiny_old value=';
echo $student['hodiny'];
echo ">";
echo $student['hodiny'];
echo "</td><td><input type=text name=hodiny size=3>";
echo "</td></tr>";
}
?>
<tr><td align="center" colspan="2">
<input name="submit" type="submit" value="Zmenit"> </td></tr>
</tr>
</table>
</form>
|
Она выводит несколько записей по условию. Дальше необходимо обновить базу. Обновляю так, но так работает только для одной записи.
Вот код (причем надо сложить значения hodiny_old и hodiny и обновить поле hodiny ):
<?php
require_once("config.php");
$absence = $_POST['hodiny_old'] + $_POST['hodiny'];
$query = "UPDATE dochazka SET hodiny='$absence' WHERE pred_id=".$_POST['pred_id']." and stud_id = ".$_POST['stud_id'];
if(!mysql_query($query)) exit(mysql_error());
else echo "<b>Udaje predmetu byly zmenene</b>";
?>
|
Я не знаю как переделать код для нескольких записей. Чтобы правильно передавались значения из формы и правильно обновлялась база. Подскажите пожалуйста. Заранее спасибо | |
|
|
|
|
|
|
|
для: Kien
(13.11.2007 в 18:39)
| | Снова поднимаю тему - очень надо сделать. Подскажите пожалуйста | |
|
|
|
|
|
|
|
для: Kien
(13.11.2007 в 18:39)
| | сделай имена для полей добавляемых в цикле
name='stud_id[]'
и
name='hodiny_old[]'
при обработке POST посмотри что пришло (print_r($_POST) и сам поймёшь что делать. | |
|
|
|
|
|
|
|
для: Волки
(14.11.2007 в 11:30)
| | Получается примерно следующее:
Array
(
[pred_id] => 6
[stud_id] => Array
(
[0] => 2
[1] => 5
)
[hodiny_old] => Array
(
[0] => 2
[1] => 4
)
[hodiny] => Array
(
[0] => 4
[1] => 4
)
[submit] => Zmenit
)
|
А как теперь вставить в отдну строку в таблице значения [stud_id] [0] , [hodiny] [0]; в другую [stud_id] [1] , [hodiny] [1];и тд?
Массивов может быть много. | |
|
|
|
|
|
|
|
для: Kien
(15.11.2007 в 14:03)
| |
for ($i=0; $i<count($mas[stud_id]); $i++)
{
$sql = "update .... where id='{$mas[stud_id][$i]}'; ";
mysql_query($sql);
}
|
:) это больше пхп вопрос | |
|
|
|
|
|
|
|
для: Волки
(15.11.2007 в 14:17)
| | не получается...:(((( | |
|
|
|