• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
ویراش مطلب
#1
برای ویرایش مطلب بدین صورت کد نوشتم حالا برای تغییرات اعمال شده چه تغییراتی در این کد بدهم


کد پی‌اچ‌پی:
$Query mysql_query("SELECT * FROM `message` ");
    
$row_rsEdit mysql_fetch_array($Query);
$EditNews mysql_query ("UPDATE `message` SET `title` = '".$_POST['title']."', `content` = '".$_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>';
    }
?>
 
<form action="" method="POST">
             
             
     
  
             
    
   عنوان:<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=" <?php echo $EditNews ?>" />
        
        
 
 </form> 

  پاسخ
تشکر شده توسط :
#2
چون کوئری رو برای یه متغیر تعریف کردی باید مقدارش رو برگردونی با return
کد پی‌اچ‌پی:
return( $EditNews); 
غایب
  پاسخ
تشکر شده توسط : hidensoft
#3
لطفا در این مورد بشتر توضیح دهید
  پاسخ
تشکر شده توسط :
#4
کد پی‌اچ‌پی:
$Query mysql_query("SELECT * FROM `message` ");
    
$row_rsEdit mysql_fetch_array($Query);
$EditNews mysql_query ("UPDATE `message` SET `title` = '".$_POST['title']."', `content` = '".$_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>';
    }
?>
 
<form action="" method="POST">
             
             
     
  
             
    
   عنوان:<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=" <?php echo $Prompt ?>" />
        
        
 
 </form> 
  پاسخ
تشکر شده توسط :
#5
وقتی شما عملی رو به چیزی میسپاری باید حتماً صداش بزنی تا اجرا بشه وگرنه مقدار نهاییش فقط در اون چیز ذخیره میشه. برای بیرون کشیدن مقدار نهایی یک چیز اغلب متغیر هم میتونی از روشی که نیک نام عزیز پیشنهاد کرده استفاده کنی یا از return
غایب
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۰ مرداد ۱۲, ۰۲:۲۴ ق.ظ)hidensfot نوشته:
کد پی‌اچ‌پی:
$Query mysql_query("SELECT * FROM `message` ");
    
$row_rsEdit mysql_fetch_array($Query);
$EditNews mysql_query ("UPDATE `message` SET `title` = '".$_POST['title']."', `content` = '".$_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>';
    }
?>
 
<form action="" method="POST">
             
             
     
  درقسمت value=  $Prompt id هیچ تغییری صورت نگرفت یعنی وقتی روی این دکمه کلیک میکنم صفحه اصلی باز میشود
             
    
   عنوان:<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=" <?php echo $Prompt ?>" />
        
        
 
 </form> 


درقسمت value= $Prompt id هیچ تغییری صورت نگرفت یعنی وقتی روی این دکمه کلیک میکنم صفحه اصلی باز میشود
  پاسخ
تشکر شده توسط :
#7
شما در چه حد HTML و CSS بلدید؟ انگار هیچی. پس بهتره برید اول اینارو یاد بگیرید بعداً شروع کنید به یادگرفتن PHP . اینطوری برای هر چیزی باید سوال بپرسی. دکمه ات کلاً از نظر ساختار مشکل داره. خصیصه value نمیتونه تگ بپذیره!! $prompt رو اصلاح کن. بعد شما بمن بگید آیا دگمه و کدی که برای ارسال به پایگاه داده نوشتید همه در یک صفحه قرار دارن؟ اگر اینطوریه که باید مشخص کنید اون قسمت کد برای بعد از کلیک شدنه.
غایب
  پاسخ
تشکر شده توسط :
#8
(۱۳۹۰ مرداد ۱۲, ۰۲:۲۱ ب.ظ)cyletech نوشته: شما در چه حد HTML و CSS بلدید؟ انگار هیچی. پس بهتره برید اول اینارو یاد بگیرید بعداً شروع کنید به یادگرفتن PHP . اینطوری برای هر چیزی باید سوال بپرسی. دکمه ات کلاً از نظر ساختار مشکل داره. خصیصه value نمیتونه تگ بپذیره!! $prompt رو اصلاح کن. بعد شما بمن بگید آیا دگمه و کدی که برای ارسال به پایگاه داده نوشتید همه در یک صفحه قرار دارن؟ اگر اینطوریه که باید مشخص کنید اون قسمت کد برای بعد از کلیک شدنه.

لطفا شما نگاهی به کدی که نیکنام تغییر دادند بیندازید بعد از من ایراد بگیرید
من کد را بدین صورت نوشتم
کد پی‌اچ‌پی:
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> 
با استفاده از این کوئری تمامی سطرها و ستون های جدول message انتخاب کردم
کد پی‌اچ‌پی:
$Query mysql_query("SELECT * FROM `message` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1 "); 

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

با توجه به کد بالا این قسمت اجرا نمیگردد به نظر شما مشکل از کجاست؟
کد پی‌اچ‌پی:
<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> 
  پاسخ
تشکر شده توسط :
#9
آقای محترم ، من نمیدونم شما میخوای چیکار کنی. اینقدر بد نوشتی که من هنگ کردم. اولاً برای اینکه اطلاعات از پایگاه داده بکشی بیرون از while بهتره استفاده کنی نه اینکه فقط بریزی توی متغیر!!!! اینطوری قسمت های شبیه زیر اصلاً اجرا نمیشن.

کد پی‌اچ‌پی:
<?php echo (isset($row_rsEdit)) ? '<input type="hidden" name="id" value="'.$row_rsEdit['id'].'">' ''?>

تو پست پیشم گفتم، اول برو html و css یاد بگیر بعد بیا php . اینطوری هم ما رو اذیت می کنی هم خودتو و هم زده میشی. از گوگل هم استفاده کنی و ببین چطوری به پایگاه داده وصل میشن و چطوری اطلاعات رو میکشن بیرون. دیگه هیچکس اینا رو برات توضیح نمیده. من هم خسته شدم. اگر الان اینو برات بنویسم از فردا همین جایی و همه کاراتو ما باید کنیم. پیشنهاد من بهت اینه که بری اونایی که گفتم رو یاد بگیری. موفق باشی
غایب
  پاسخ
تشکر شده توسط :
#10
یک فیلد update یا modified_date هم به جدولت اضافه کنی بهتر میشه.
وبلاگ: Yousha.Blog.ir


کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بیشتر => نگهداری بهتر
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان