|
|
|
|
-edit.php
<?php
require_once 'config.php';
$query = "SELECT * FROM `table` ORDER BY `id`";
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
echo "<center><table border=1 align=center><form action=upd.php method=post enctype=multipart/form-data name=submit>";
while ($row=mysql_fetch_array($res)) {
echo "
<tr><td><input type=text name=id size=12 value=".$row['id']."></td>
<td><input type=text name=1 size=12 value=".$row['1']."></td>
<td><input type=text name=2 size=12 value=".$row['2']."></td>
</tr>";
}
echo "<tr><td colspan=8><center><input type=submit class=button value=Обновить></center></td></tr></table></form>";
?>
|
-upd.php
<?php
require_once 'config.php';
$query = "SELECT * FROM `table` ORDER BY `id`";
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
while ($row=mysql_fetch_array($res)) {
mysql_query("UPDATE table SET 1='$1, 2='$2' WHERE `id` = '$id' LIMIT 1") or die(mysql_error());
}
?>
|
Как сделать обновление, что-то мой вариант не действует. | |
|
|
|
|
|
|
|
для: include
(31.07.2008 в 16:40)
| | А почему не работает? И что, даже и не ругается? | |
|
|
|
|
|
|
|
для: sim5
(31.07.2008 в 16:53)
| | Нет, просто не обновляет. Скорее всего ошибка в коде. | |
|
|
|
|
|
|
|
для: include
(31.07.2008 в 16:55)
| |
uery = "SELECT * FROM `table` ORDER BY `id`";
$res = mysql_query($query) or die(mysql_error());
$number = mysql_num_rows($res);
echo "<center><table border=1 align=center><form action=upd.php method=post enctype=multipart/form-data name=submit>";
while ($row=mysql_fetch_array($res)) {
echo "
<tr><td><input type=text name=id size=12 value=".$row['id']."></td>
<td><input type=text name=1 size=12 value=".$row['1']."></td>
<td><input type=text name=2 size=12 value=".$row['2']."></td>
</tr>";
}
?>
|
здесь у вас возможно будут input-ы с одинаковыми именами.
надо передать и id записи. Ставьте в запросе limit 1(чтобы редактировать только одну запись) или используйте массивы(если много записей)
<input type=text name=1[] size=12 value=".$row['1']."> | |
|
|
|
|
|
|
|
для: include
(31.07.2008 в 16:40)
| | Еще бы оно работало. Вот смотрите:
while ($row=mysql_fetch_array($res)) {
echo "
<tr><td><input type=text name=id size=12 value=".$row['id']."></td>
<td><input type=text name=1 size=12 value=".$row['1']."></td>
<td><input type=text name=2 size=12 value=".$row['2']."></td>
</tr>";
}
|
Здесь вы генерируете форму, ага, сгенерированный документ смотрели?
Допустим у вас 10 записей в БД, на форме у вас будет тоже 10 записей, но имена то полей формы одинаковые, реально на сервер у вас будут переданы значения последней записи, так как везде name=id, name=1, name=2.
Надо сделать так.
while ($row=mysql_fetch_array($res)) {
echo "
<tr><td><input type=text name=id_".$row['id']." size=12 value=".$row['id']."></td>
<td><input type=text name=1_".$row['id']." size=12 value=".$row['1']."></td>
<td><input type=text name=2_".$row['id']." size=12 value=".$row['2']."></td>
</tr>";
}
|
Соответственно в upd.php надо перебирать поля формы. | |
|
|
|
|
|
|
|
для: levsha
(31.07.2008 в 17:03)
| | Понял ошибку. Спасибо. | |
|
|
|
|
|
|
|
для: levsha
(31.07.2008 в 17:03)
| |
<input name="id_h" type="hidden" value="<?=$row['id']?>">
<?php
$r = mysql_query ("UPDATE `table`
SET
`1`='".$_POST['1']."',
`2`='".$_POST['2']."'
WHERE `id`='".$_POST['id_h']."' ",$db);
if ($r == 'true'){
echo 'Обновлено!!!';
}
?>
|
| |
|
|
|
|
|
|
|
для: include
(31.07.2008 в 16:40)
| |
UPDATE table SET 1='$1, 2='$2' WHERE `id` = '$id' LIMIT 1
|
| |
|
|
|
|
 1.8 Кб |
|
|
для: AcidTrash
(01.08.2008 в 09:51)
| | вечер добрый, программисты
у меня при редактировании сообщения не выполняется запрос, пишет эту ошибку
Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 10' at line 1
дело либо в форме, либо в sql запросе на обновление данных.
ткните пожалуйста носом в косяк.
прикрепляю архив с двумя файлами
а может редактировать можно только одно за раз сообщение, или все-таки можно по 10 | |
|
|
|
|
|
|
|
для: Рома
(27.10.2008 в 21:20)
| | пробовал использовать цикл
foreach($msg as $key => $value)
{
}
ничего не вышло, не могу корректно внести необходимую информацию в форму, чтоб хоть от чего-то отталкиваться в sql запросе.
ну что еще можно попробовать? | |
|
|
|
|
|
|
|
для: Рома
(27.10.2008 в 23:24)
| | у Вас переменные неопределенные в скрипте.
Для начала стоит попробовать исправить это.
А уж совсем для начала стоило бы создать собственную тему, а не продолжать чужую. | |
|
|
|