آپدیت مطالب

jalaladdin

Active Member
با توجه به کدی که نوشتم مطلب از پایگاه داده بیرون کشیدم حالا برای آپدیت مطلب چه تغییراتی در کدی که نوشتم بدهم
تا در همین صفحه ای که مطالب واکشی کردم مطلب را ویرایش کنم ودر نهایت در پایگاه داده ذخیره کنم
PHP:
if ( isset($_GET['id']) && ($_GET['id'] !== "") )
{
    $Query = mysql_query("SELECT * FROM `message` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1 ");
    $row_rsEdit = mysql_fetch_array($Query);
}
if ( isset($_POST['Act']) && ($_POST['Act'] == "EditNews") )
{
        $EditNews = mysql_query ("UPDATE `message` SET `title` = '".$_POST['title']."', `text1` = '".$_POST['text1']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");

    if ( $EditNews )
    {
        $Prompt = '<font color="green"><b>تغییرات با موفقیت اعمال شدند.</b></font>';
    }
    else
    {
        $Prompt = '<font color="red"><b>متاسفانه مشکلی در ثبت تغییرات وجود دارد.</b></font>';
    }
}
else{$Prompt = false;}
?>

<form action="" method="POST">
            
            <input type="hidden" name="Act" value="<?php echo (isset($row_rsEdit)) ? "EditNews" : "edit"; ?>">
            <?php echo (isset($row_rsEdit)) ? '<input type="hidden" name="id" value="'.$row_rsEdit['id'].'">' : ''; ?>
            <div align="center">
            <table border="0" width="460" dir="rtl" cellpadding="0">
                <tr>
                    <td align="center" colspan="2"><?php echo $Prompt; ?></td>
                </tr>
    
 
            
   
   عنوان:<input type="text" name="title" id="man2" size="50" dir="rtl" class="bg-blue02" value="<?php echo $row_rsEdit['title']; ?>"><p>
متن:<textarea name='text1'  rows='2'   id='text1' style='WIDTH:80px; HEIGHT:100%;'><?php echo $row_rsEdit['text1']; ?></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>
 

jalaladdin

Active Member
وقتی روی send کلیک میکنم صفحه اصلی باز میشود نمدانم مشکل از کجاست
 

Masoud1365

مدیر انجمن
کجاش مشکل داری ؟ برای آپدیت فقط یه کوئری ساده باید بنویسید !
 

jalaladdin

Active Member
با استفاده از این کوئری تمامی سطرها و ستون های جدول message انتخاب کردم
PHP:
$Query = mysql_query("SELECT * FROM `message` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1 ");
با استفاده از این تابع محتویات جدول message بیرون کشیده میشود
PHP:
mysql_fetch_array($Query)
[/code]
برای update مطلب تغییر یافته این کوئری را نوشتم
PHP:
    $EditNews = mysql_query ("UPDATE `message` SET `title` = '".$title."', `text1` = '".$text1."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
حالا چه تغییراتی دیگری در کد زیر باید اعمال کنم تا تغییرات اعمال شده در پایگاه داده ذخیره گردد

PHP:
if ( isset($_POST['Act']) && ($_POST['Act'] == "EditNews") )
{
    $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` = '".$_POST['id']."' LIMIT 1");

    if ( $EditNews )
    {
        $Prompt = '<font color="green"><b>تغییرات با موفقیت اعمال شدند.</b></font>';
    }
    else
    {
        $Prompt = '<font color="red"><b>متاسفانه مشکلی در ثبت تغییرات وجود دارد.</b></font>';
    }
}
else{$Prompt = false;}
if ( isset($_GET['id']) && ($_GET['id'] !== "") )
{
    $Query = mysql_query("SELECT * FROM `message` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1 ");
    $row_rsEdit = mysql_fetch_array($Query);
}
?>

<form action="" method="POST" id="signupForm" name="posts">
            
            <input type="hidden" name="Act" value="<?php echo (isset($row_rsEdit)) ? "EditNews" : ""; ?>">
            <?php echo (isset($row_rsEdit)) ? '<input type="hidden" name="id" value="'.$row_rsEdit['id'].'">' : ''; ?>
            <div align="center">
            <table border="0" width="460" dir="rtl" cellpadding="0">
                <tr>
                    <td align="center" colspan="2"><?php echo $Prompt; ?></td>
                </tr>
    
 
            
   
   عنوان:<input type="text" name="title" id="man2" size="50" dir="rtl" class="bg-blue02" value="<?php echo $row_rsEdit['title']; ?>"><p>
متن:<textarea name='text1'  rows='2'   id='text1' style='WIDTH:80px; HEIGHT:100%;'><?php echo $row_rsEdit['text1']; ?></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>
 
آخرین ویرایش:

jalaladdin

Active Member
با توجه به کد بالا این قسمت اجرا نمیگردد به نظر شما مشکل از کجاست؟
PHP:
<input type="hidden" name="Act" value="<?php echo (isset($row_rsEdit)) ? "EditNews" : ""; ?>">
            <?php echo (isset($row_rsEdit)) ? '<input type="hidden" name="id" value="'.$row_rsEdit['id'].'">' : ''; ?>
            <div align="center">
            <table border="0" width="460" dir="rtl" cellpadding="0">
                <tr>
                    <td align="center" colspan="2"><?php echo $Prompt; ?></td>
                </tr>
 
آخرین ویرایش:

Masoud1365

مدیر انجمن
اگر که کوئری شما اجرا میشه که باید مقادیر داخل ستون ها هم ادیت بشه چون ما مطالب رو با همون کوئری دخیره میکنیم !
کوئری شما اجرا میشه ولی مطالب تغییر نمیکنه ؟
 

jalaladdin

Active Member
کدهای 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;}
 
آخرین ویرایش:

jalaladdin

Active Member
این هم صفحه ای میباشد که مطالب را از پایگاه داده بیرون میکشم
PHP:
if ( isset($_GET['id']) && ($_GET['id'] !== "") )
{
    $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>
 
آخرین ویرایش:

jalaladdin

Active Member
مقادیر از پایگاه داده بیرون کشیده میشود با استفاده از آن کدی که نوشتم
اما در این قسمت کد آپدیت دستور شرطی اجرا میگردد (تغییرات با موفقیت اعمال شد) اما مطلب تغییر یافته در پایگاه داده جایگزین مطلب قبلی نمیشود
 
یه احتمال دیگه وجود داره که فیلدی که تو کوئری آپدیت نوشتی اصلا وجود نداشته باشه یا مثلا شماره آیدی
 

جدیدترین ارسال ها

بالا