Една причина този код да не работи

  • Автор Автор 0u7
  • Начална дата Начална дата

0u7

Registered
Каква е причината
този код да не работи напълно
$id = $_GET['id'];
if($_POST['edit'])
{
$name = $_POST['name'];
$desc = $_POST['desc'];
$cat = $_POST['cat'];
$sql = mysql_query("UPDATE news SET name='$name' WHERE id='$id'");
$s = mysql_query("UPDATE news SET desc='$desc' WHERE id='$id'");
$sqx = mysql_query("UPDATE news SET cat='$cat' WHERE id='$id'");
echo '<br>Новината е промененеа успешно!<br><br>';
}

$sql = mysql_query("UPDATE news SET name='$name' WHERE id='$id'");

$sqx = mysql_query("UPDATE news SET cat='$cat' WHERE id='$id'");

тези 2те се ъбдейтват а $s не причина някой знае ли и има ли идея как да се оправи ?
 
Код:
$id = $_GET['id'];
if($_POST['edit'])
{
$name = $_POST['name'];
$desc = $_POST['desc'];
$cat = $_POST['cat'];
$sql = mysql_query("UPDATE news SET name='$name' WHERE id='$id'") or die(mysql_error());
$s = mysql_query("UPDATE news SET desc='$desc' WHERE id='$id'") or die(mysql_error());
$sqx = mysql_query("UPDATE news SET cat='$cat' WHERE id='$id'") or die(mysql_error());
echo '<br>Новината е промененеа успешно!<br><br>';
}

$sql = mysql_query("UPDATE news SET name='$name' WHERE id='$id'");

$sqx = mysql_query("UPDATE news SET cat='$cat' WHERE id='$id'");

Дай си и формата където $_POST от нея и кажи дали ти дава някаква грешка.. Може и нещо полетата ти да не са както трябва.
 
<form action="" method="POST">
<font size="1">Име на новина:*</font>
<textarea rows="5" name="name"><?php echo $name ;?></textarea><br>
<textarea cols="80" rows="10" name="desc"><?php echo $desc ;?></textarea>
<script type="text/javascript">
//<![CDATA[
// Replace the <textarea id="editor1"> with an CKEditor instance.
var editor = CKEDITOR.replace( 'desc' );
//]]>
</script>
Категория:<select name="cat"><option value="0"><? echo $cat ;?></option>
<?
$r = mysql_query("SELECT * FROM cat");
while($row = mysql_fetch_array($r)){
$cat .= "<option value=\"$row[id]\" class=\"bottom\">$row[value]</option>";
}
echo $cat;
?>

<input type="submit" class="btn" name="edit" value="Промени">
 
А това $id как го вземаш от $_GET никъде не видях поле, което да поства за $edit.... направо го направи <input type="hidden" name="id" value="<?=$_GET['id']?>"> и кажи дали ти даде грешка с моя код... Добавих извеждането на mysql грешките... И ако примерно си отворил за промяна страницата си вече имаш $_GET['id'] т.е. можеш да направиш горе да е $id = $_POST['id']; но преди това сложи във формата си <input който ти дадох.... и дай си таблицата да я видим.... Дай един експорт само на структурата.
 
Ми то $id си го взема от GET ид-то дето си е ама се обновява само cat i name


desc не се обновява ;х
 
0u7 каза:
Ми то $id си го взема от GET ид-то дето си е ама се обновява само cat i name


desc не се обновява ;х

Дай си структурата на таблицата.... Едитнах си предишното мнение погледни го и пробвай така.... Защо си мисля, че го нямаш това поле desc или още повече не ти съответстват id-тата от таблиците, което е по-вероятно.
 
с твоя код излиза
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 'desc='

CREATE TABLE `news` (
`id` int(50) NOT NULL auto_increment,
`name` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`desc` text character set utf8 collate utf8_bin NOT NULL,
`avtor` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`data` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`cat` varchar(50) character set utf8 collate utf8_bin NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=46 ;
 
Я така пробвай....
Код:
$id = $_GET['id'];
if(isset($_POST['edit'])) {
$name = htmlspecialchars($_POST['name']);
$desc = htmlspecialchars($_POST['desc']);
$cat = htmlspecialchars($_POST['cat']);
$sql = mysql_query("UPDATE `news` SET `name`='".$name."' WHERE `id`='".$id."'") or die(mysql_error());
$s = mysql_query("UPDATE `news` SET `desc`='".$desc."' WHERE `id`='".$id."'") or die(mysql_error());
$sqx = mysql_query("UPDATE `news` SET `cat`='".$cat."' WHERE `id`='".$id."'") or die(mysql_error());
echo '<br>Новината е промененеа успешно!<br><br>';
}
 

Back
Горе