-
ویرایش مطلب
این صفحه ای میباشد که مطالب را از پایگاه داده بیرون میکشم
[PHP]
$Query = mysql_query("SELECT * FROM `message` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1 ");
while($row_rsEdit = mysql_fetch_array($Query)){
$tit= $row_rsEdit['title'];
$text= $row_rsEdit['text1'];
}
mysql_close($con);
?>
<p>
<form id="signupForm" action="update.php" method="post" style="direction:rtl">
عنوان:<input type="text" name="title" id="man2" size="50" dir="rtl" class="bg-blue02" value="<?php echo $tit?>"><p>
متن:<textarea name='text1' rows='2' id='text1' style='WIDTH:80px; HEIGHT:100%;'><?php echo $text; ?></textarea>
<script type='text/javascript'>
//<![CDATA[
// Replace the <textarea id='editor1'> with an CKEditor instance
var editor = CKEDITOR.replace( 'text1' );
//]]>
</script>
<input type="submit" name="send" value="ارسال" />
</form>[/PHP]
کدهای updateمطلب را دریک صفحه جداگانه نوشتم اما مطلب تغییر یافته در پایگاه داده ذخیره نمیشود
[PHP]$title=mysql_real_escape_string($_POST['title']);
$text1=mysql_real_escape_string($_POST['text1']);
$EditNews = mysql_query ("UPDATE `message` SET `title` = '".$title."', `text1` = '".$text1."' WHERE `id` = '".$_GET['id']."' LIMIT 1");
if ( $EditNews )
{
$Prompt = '<font color="green"><b>تغییرات با موفقیت اعمال شدند.</b></font>';
echo $Prompt;
}
else
{
$Prompt = '<font color="red"><b>متاسفانه مشکلی در ثبت تغییرات وجود دارد.</b></font>';
echo $Prompt;} [/PHP]
-
-
مقادیر از پایگاه داده بیرون کشیده میشود با استفاده از آن کدی که نوشتم
اما در این قسمت کد آپدیت دستور شرطی اجرا میگردد (تغییرات با موفقیت اعمال شد) اما مطلب تغییر یافته در پایگاه داده جایگزین مطلب قبلی نمیشود
-
کد:
http://www.w3schools.com/php/php_mysql_update.asp
-
در این مواقع اوین کاری که باید انجام بدید چک کردن ارورهاست! اصولاً نوشتن برنامه بدون در نظر گرفتن ارورهایی که ممکنه رخ بده اشتباه هست و در صورتی که مشکلی داشته باشه رفع مشکل بسیار سخت میشه!
از mysql_error استفاده کنید تا ببینید کوئری ها ارور داره یا نه. اگر ارور داشت که برطرف کنید اگر هم نداشت چک کنید ببینید اطلاعاتی که ارسال میشه کامل هست یا نه
-
اگر errorوجود داشت پیغام خطا میداد قسمت else دستور شرطی کدupdate اجرا میگردد این هم تصویر جدول message از پایگاه داده میباشد
[PHP]$title=mysql_real_escape_string($_POST['title']);
$text1=mysql_real_escape_string($_POST['text1']);
$id=mysql_real_escape_string($_GET['id']);
$EditNews = mysql_query ("UPDATE message SET `title` = '".$title."', `text1` = '".$text1."' WHERE `id` = '".$id."' LIMIT 1");
if ( $EditNews )
{
$Prompt = '<font color="green"><b>تغییرات با موفقیت اعمال شدند.</b></font>';echo mysql_error();
echo $Prompt;
}
else
{
$Prompt = '<font color="red"><b>متاسفانه مشکلی در ثبت تغییرات وجود دارد.</b></font>';
echo mysql_error();
echo $Prompt;}
[/PHP]
این هم خروجی جدول message میباشد
[PHP]
CREATE TABLE `message` (
`id` int(11) NOT NULL auto_increment,
`title` varchar(255) character set utf8 NOT NULL,
`text1` text character set utf8 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=336 ;
[/PHP]
-
شما این خطو جایگزین کنید.فکر میکنم مشکلتون حل بشه
"UPDATE message SET `title` = '$title', `text1` = '$text1' WHERE `id` = '$id' LIMIT 1"
-
آره اون " " ها برای تغییر پذیر ها نیاز نیست.
-
ربطی به کوتیشن نداره
باید داده های ورودی به اسکرپت چک بشه و مطمئن بشید همه چیز به درستی ارسال میشه