<?php
require "../options/db.php";
$name = trim(!empty($_POST['name'])) ? $_POST['name'] : null;
$position = trim(!empty($_POST['position'])) ? $_POST['position'] : null;
$name1 = !empty($_GET['name1']) ? $_GET['name1'] : null;
$id = !empty($_GET['id']) ? $_GET['id'] : null;
if ($sub) $id = !empty($_POST['id']) ? $_POST['id'] : null;
$sub = !empty($_POST['sub']) ? $_POST['sub'] : null;
$sql = "select * from menu where id='".$id."'";
$result = mysql_query($sql) or die(mysql_error ."<br />". $sql) ;
$row = mysql_fetch_assoc($result);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Добавление меню</title>
<link href="../class.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table align="center" width="960" height="437" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="198" colspan="2"> </td>
</tr>
<tr>
<?php
require "blocks/lefttd.php";
?>
<td width="711" align="left" valign="top">
<br /><br />
<form action="renew_menu.php?f=1" method="post">
Пункт меню: <input name="name" type="text" value="<?php echo $row['name'];?>" /><br />
Позиция пункта меню: <input name="position" type="text" value="<?php echo $row['position'];?>"/><br />
<input name="id" type="hidden" value="<?php echo $id;?>" />
<input name="sub" type="submit" class="but" value="Редактировать" />
</form>
<?php
if($sub)
{
$sql2 = "update menu set name = '".$name."' where id ='".$id."'";
$result2 = mysql_query($sql2) or die(mysql_error ."<br />". $sql2);}
if($result2 === true) {echo "<br /><br />Данные успешно обновлены"; $id;}
?>
</td>
</tr>
</table>
</body>
</html>
Проблема в том что скрипт отвечает мне,что всё успешно обнавлено, но ничего подобного на самом деле...Если убрать в апдейт where, тогда обновляются все пункты меню..как быть?
Левый блок
<link href="../../class.css" rel="stylesheet" type="text/css" />
<td width="249" align="left" valign="top">
<div class="div_name">Навигация</div><br />
<a href="new_menu.php">Добавить</a><br />
<a href="index.php?go=renew">Редактировать</a><br />
<a href="index.php?go=delete">Удалить</a><br />
</td>
Страница с которой перехожу
<?php
require "../options/db.php";
$f=0;
$l=0;
$go = !empty($_GET['go']) ? $_GET['go'] : null;
$f = !empty($_GET['f']) ? $_GET['f'] : null;
$name = trim(!empty($_POST['name'])) ? $_POST['name'] : null;
$position = trim(!empty($_POST['position'])) ? $_POST['position'] : null;
$name1 = !empty($_GET['name1']) ? $_GET['name1'] : null;
$position1 = !empty($_GET['position1']) ? $_GET['position1'] : null;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Добавление меню</title>
<link href="../class.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table align="center" width="960" height="437" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="198" colspan="2"> </td>
</tr>
<tr>
<?php
require "blocks/lefttd.php";
?>
<td width="711" align="left" valign="top">
<?php
if($f==0){
{
$sql = "select * from menu";
$result = mysql_query($sql) or die(mysql_error ."<br />". $sql) ;
echo "<br /><br />";
while($row = mysql_fetch_assoc($result))
{
if ($go=='renew') echo "<a href=renew_menu.php?id=".$row['id']."&name=".$row['name'].">".$row['name']."<br />";
if ($go=='delete') echo "<a href=delete_menu.php?id=".$row['id'].">".$row['name']."<br />";
}
}}
else{ echo "<br /><br />"; }
?>
</td>
</tr>
</table>
</body>
</html>
Спустя 13 минут, 10 секунд (3.12.2010 - 14:18) inpost написал(а):
А ты с $_GET & $_POST не запутался? =)
Кстати, в этом и ошибка.
Кстати, в этом и ошибка.
Спустя 6 минут, 51 секунда (3.12.2010 - 14:25) nugle написал(а):
Да вроде нет, я 10ра3 это пресматривал или я такой невнемательный?
Спустя 11 минут, 58 секунд (3.12.2010 - 14:37) inpost написал(а):
Не стоит использовать одно и то же: и $_GET = id & $_POST = id.
Смотри, перед самим запросом сделай:
echo $id.$name.$position. Мне кажется, что у тебя в переменной ID пусто должно быть.
Смотри, перед самим запросом сделай:
echo $id.$name.$position. Мне кажется, что у тебя в переменной ID пусто должно быть.
Спустя 6 минут, 59 секунд (3.12.2010 - 14:44) nugle написал(а):
там всё верно и не пусто, дело в чём то другом, почему же бе3 where всё работает?
Спустя 11 минут, 4 секунды (3.12.2010 - 14:55) inpost написал(а):
$sql2 = "UPDATE `menu` SET
`name` = '".$name."'
WHERE `id` = ".$id;
$sql3 = "UPDATE `menu` SET
`name` = 'BEER'
WHERE `id` = 7;
Спустя 3 часа, 29 минут, 34 секунды (3.12.2010 - 18:25) nugle написал(а):
я вставил в БД вот это
ТАм работает
UPDATE `menu` SET `name` = 'BEER' WHERE `id` = 7;
ТАм работает