النتائج 1 إلى 10 من 10

الموضوع: كيف يمكنني تمديد التاريخ 30يوما مثلا

  1. #1
    عضو جديد
    تاريخ التسجيل
    Jun 2008
    المشاركات
    6

    Angry كيف يمكنني تمديد التاريخ 30يوما مثلا



    السلام عليكم ورحمة الله وبركاته

    ارغب تمديد تاريخ مخزن في قاعدة بيانات الموقع في جدول members في الحقل end_date

    المطلوب
    1- كود الاستعلام عن التاريخ وتخزينه في متغير
    2- إضافة 30يوم له ومن ثم تحديث الحقل بالتاريخ الجديد

    مثلا عندي عضو تنتهي عضويته في 15/02/2009
    وابي امدد له شهر 30يوم بحيث تنتهي عضويته في
    15/03/2009

    آمل أن أجد المساعدة باسرع وقت

    وفقكم الله







  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    كود:
    UPDATE table SET field = field+2592000 WHERE id= $id






    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  3. #3
    عضو جديد
    تاريخ التسجيل
    Jun 2008
    المشاركات
    6


    ألف شكر أخي القائد

    سأجرب إضافة الأيام بالثواني كما ذكرت في الكود وإن شاء انجح في صياغة الكود حسب جدول وحقل قاعدة البيانات
    عندي المطلوب تحديثة

    تقبل خالص شكري






  4. #4
    عضو جديد
    تاريخ التسجيل
    Jun 2008
    المشاركات
    6


    للأسف لم تنجح الطريقة

    عدلت الكود فأصبح بهذا الشكل

    كود:
    $update=mysql_query("UPDATE members SET end_date=end_date+2592000  WHERE id=$sid");
    كان التاريخ قبل تنفيذ الأمر
    2009-06-25
    المفترض بعد تنفيذ الأمر يتحول إلى
    2009-07-25
    ولكن للأسف تحول إلى
    0000-00-00
    أين الخطأ






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    الخطأ بالتأكيد في طريقة تخزين التاريخ في قاعدة البيانات

    الطريقة التي وضعتها انا تعتمد على تخزين الوقت في قاعدة البيانات على شكل (عدد الثواني) او ما يعرف بطريقة توقيت لينكس

    اي

    كود PHP:
    $time time();
    $insert mysql_query("INSERT INTO table (time_field) VALUES('$time') "); 
    ربما انت تستخدم طريقة اخرى في تخزين التاريخ او ان بنية الحقل الخاص بتخزين البيانات مختلف


    اعرض لي طريقة تخزينك للتاريخ وكذلك بنية الجدول حتى نتمكن من مساعدتك بالشكل الأمثل





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  6. #6
    عضو جديد
    تاريخ التسجيل
    Jun 2008
    المشاركات
    6


    جزاك الله خير

    طريقة التخزين عادية تستقبل قاعدة البيانات المدخلات من امر التحديث ويتم حفظها في حقول الجدول
    اتوقع هذا ماتقصده في طريقة التخزين - غذا كان هناك توقع آخر لطريقة التخزين ارجو توضيحة كي أوضحة لك اكثر


    وبنية الجدول كما في الكود التالي
    كود:
    CREATE TABLE `members` (
      `id` int(10) NOT NULL auto_increment,
      `s_name` varchar(250) NOT NULL default '',
      `s_photo` varchar(250) NOT NULL default '',
      `active` enum('0','1') NOT NULL default '0',
      `count` int(10) NOT NULL,
      PRIMARY KEY  (`id`)
    )







  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    انت استخدمت الأمر التالي
    كود PHP:
    $update=mysql_query("UPDATE members SET end_date=end_date+2592000  WHERE id=$sid"); 
    اين الحقل end_date وما طبيعته؟





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  8. #8
    عضو جديد
    تاريخ التسجيل
    Jun 2008
    المشاركات
    6


    آسف فعلا الكود غير مكتمل بسبب النسخ واللصق

    هذا الكود كاملا

    كود:
    CREATE TABLE `members` (
      `id` int(10) NOT NULL auto_increment,
      `s_name` varchar(250) NOT NULL default '',
      `s_photo` varchar(250) NOT NULL default '',
      `start_date` date NOT NULL,
      `end_date` date NOT NULL,
      `active` enum('0','1') NOT NULL default '0',
      `count` int(10) NOT NULL,
      PRIMARY KEY  (`id`)
    )
    صورة توضيحية - أعلم أن أمثالكم ليس بحاجتها







  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    اسف للتأخر في الرد...

    بالنسبة لها النوع من الحقول فان عملية تمديد الوقت سيأخذ عملا اكثر...

    لاحظ الكود التالي
    كود PHP:
    $date '2008-01-26';
    $e explode('-'$date);
    $e['1'] = intval($e['1']);
    if(
    $e['1'] == 12)
    {
        
    $e['1'] = '01';
        
    $e['0'] = intval($e['0']) + 1;
    }
    else
    {
        
    $e['1'] = intval($e['1']) + 1;
    }
    $date $e['0'] . '-' $e['1'] . '-' $e['2']; 






    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  10. #10
    عضو جديد
    تاريخ التسجيل
    Jun 2008
    المشاركات
    6


    أخي القائد

    شاكرا ومقدرا لك جهودك معي

    لقد توصلت للحل الصحيح

    وسأكتب الكود لتعم الفائدة للجميع

    كود:
    $mem = mysql_query ("SELECT * from members where id='$sid'");
     			while ($Row=mysql_fetch_array($mem))
     			{
        			$end_date = $Row [end_date];
    			$d_time=strtotime($end_date);
    			$dd=$d_time + (60*60*24*30);
    			$ed=date('Y-n-j', $dd);
    			}
    		$update=mysql_query("UPDATE members SET end_date='$ed'  WHERE id='$sid'");
    تقبل خالص شكري وتقديري










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض