Mesher
Новичок
Здравствуйте, подскажите пожалуйста в чем проблема.
Есть база данных. данные с сайта вносятся нормально, вывод тоже, а вот обновление записи не происходит.
Код вывод данных из базы:
Вывод сделал сразу в форму, чтобы можно было редактировать отдельно каждую запись кнопкой edit, id записи в базе внес в поле невидимое hidden.
Код обновления записи в бд.
Проблема: базу не обновляет, т.к. присваивает переменной только первый ID записи при нажатии на любоу кнопку edit. не могу понять почему, при просмотре кода в браузере в каждой записи(строке) свой id выводит нормально, который совпадает с базой.
изменил вывод, для каждой строки своя форма, но теперь id все время = 2.
Есть база данных. данные с сайта вносятся нормально, вывод тоже, а вот обновление записи не происходит.
Код вывод данных из базы:
PHP:
<form action="editpost.php" method="POST" OnSubmit="sendRequest(); return false">
<table>
<tr><td><td>
<td>№ накладной</td>
<td>Город отправления</td>
<td>Дата отправления</td>
<td>Адрес прибытия</td>
<td>Дата прибытия</td>
<td>Время вручения</td>
<td>Получатель</td>
<td>Комментарии</td>
</tr>
<?php
do {
echo (' <tr>
<td>
<input type="hidden" name="epostID" value="'.$row_postt['id'].'" />
<input type="submit" name="editpost" value="Edit"/>
</td>
<td>'.$row_postt['number_n'].'</td>
<td>'.$row_postt['sitysend'].'</td>
<td>'.$row_postt['datesend'].'</td>
<td><input type="text" name="editsitya" value="'.$row_postt['sityarrival'].'"></td>
<td>'.$row_postt['datearrival'].'</td>
<td>'.$row_postt['timearrival'].'</td>
<td>'.$row_postt['recipient'].'</td>
<td>'.$row_postt['comment'].'</td>
</tr>');
}
while ($row_postt = mysql_fetch_assoc($postt));
echo ("<div class=\"clear\"></div><div class=\"navi\">");
echo pages ($p);
echo ("</div>");
?>
</table></form>
Код обновления записи в бд.
PHP:
<?php
header("Content-Type: text/plain; charset=UTF-8");
// Присваивание переменной значения полей форм
$editsitya = $_POST['editsitya'];
$id = $_POST['epostID'];
// Вывод переменной, сделал для проверки
echo "<br>'$id'";
echo "<br>'$editsitya'";
// Статус
$status = "";
/* файл подключения к MySQL серверу. */
include '../config.php';
/* фильтруем все спец-символы. защита от SQL Injection */
$editsitya = mysql_escape_string(htmlspecialchars($editsitya));
$editsitya = mysql_real_escape_string($editsitya);
// обновляем запись в БД
$query = "UPDATE tabletrack SET sityarrival = '$editsitya' WHERE id='$id'";
if($result == mysql_query($query)) {
$status = "Готово!!! Накладная перезаписана!";
} else {
$status = "При добавлении почтового отправления в базу данных произошла ошибка. Информация не была записана.";
}
mysql_close($link);
echo $status; /* выводим статус исполнения */
изменил вывод, для каждой строки своя форма, но теперь id все время = 2.