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

الموضوع: سؤال في الاستعلام عن طريق دالة time

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392

    سؤال في الاستعلام عن طريق دالة time



    السلام عليكم

    اخواني انا اخزن التاريخ في قاعدة البيانات بدالة time بحيث يخزن التاريخ هكذا
    1218834000
    يعني
    2008-08-16

    فاريد الاستعلام ولكن الاستعلام لا يتحقق الا اذا كان التاريخ مخزن في قاعدة البيانات 2008-08-16

    كود الاستعلام يعمل فقط عندما يكون التاريخ في قاعدة البيانات 2008-08-16
    كود PHP:
    $query "
    SELECT mokaj.*, newaj.*
    FROM mokaj, newaj
    WHERE
        mokaj.mokadate >= DATE_SUB(CURDATE(),INTERVAL 0 DAY)
        AND newaj.id = mokaj.user_id
    ORDER BY mokaj.id DESC LIMIT 
    $offset$rowsPerPage";
    $results mysql_query($query) or die(mysql_error());
    $num mysql_num_rows($results); 
    لقد حاولت ان اضع الكود هكذا
    كود PHP:
    $query "
    SELECT mokaj.*, newaj.*
    FROM mokaj, newaj
    WHERE
        date('Y-m-d',mokaj.mokadate) >= DATE_SUB(CURDATE(),INTERVAL 0 DAY)
        AND newaj.id = mokaj.user_id
    ORDER BY mokaj.id DESC LIMIT 
    $offset$rowsPerPage"
    ولكنه لم يعمل لدي يظهر لي الخطاء
    كود PHP:
    You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'mokaj.mokadate) >= DATE_SUB(CURDATE(),INTERVAL 0 DAY) AND n 








  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخواني هل يمكن التعديل على هذا الاستعلام






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


    افهم من سؤالك انك تريد التعديل على الاستعلام من قاعدة البيانات أليس كذلك؟

    اذا كنت تخزن الوقت في القاعدة على شكل time()

    فستعدل الاستعلام إلى الشكل التالي

    كود PHP:
    $query "
    SELECT mokaj.*, newaj.*
    FROM mokaj, newaj
    WHERE
        mokaj.mokadate >= 
    $time
        AND newaj.id = mokaj.user_id
    ORDER BY mokaj.id DESC LIMIT 
    $offset$rowsPerPage";
    $results mysql_query($query) or die(mysql_error());
    $num mysql_num_rows($results); 
    حيث $time هو الوقت الذي تريد الاستعلام عنه بصيغة لنكس
    اي مثل الصادر عن time()

    اذا كان لديك تاريخ معين على شكل
    2008-08-16
    وتريد ان تحوله إلى صيغة لنكس استخدم الدالة
    strtotime





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

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

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي يظهر لي هذا الخطا
    كود PHP:
    You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'AND newaj.id = mokaj.user_id ORDER BY mokaj.id DESC LIMIT 0, 10 







  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي القائد

    التاريخ مخزن في قاعدة البيانات بهذه الطريقة
    1218834000

    اريد فقط التعديل على الاستعلام






  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    392


    اخي القائد انت تقصد ان يكون الاستعلام هكذا
    كود PHP:
    $query "
    SELECT mokaj.*, newaj.*
    FROM mokaj, newaj
    WHERE
         FROM_UNIXTIME(mokaj.mokadate, '%Y- %m-%d ') = DATE_SUB(CURDATE(),INTERVAL 0 DAY )
        AND newaj.id = mokaj.user_id 
    مع انه لا يجلب البيانات المدخلة اليوم






  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    May 2007
    المشاركات
    509


    بما انو الموضوع مفتوح ويتحدث عن التاريخ ... ممكن حدا واجتهو نفس مشكلتي وعندو حلها ...

    المشكلة انو التاريخ لما يدخل لقاعدة البيانات يصبح يظهر بشكل معكوس ... يعني التاريخ 2008-08-18 يصبح هكذا 2018-08-08 بعد الدخول للقاعدة !! حاولت ادور على حلول ما لقيت استعملت الدالة date والصيغ j-m-y ونوع الحقل في القاعدة هو date .

    مشكورين سلف .





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟

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


    بل يكون الاستعلام بهذه الطريقة

    كود PHP:
    $query "
    SELECT mokaj.*, newaj.*
    FROM mokaj, newaj
    WHERE
        mokaj.mokadate >= 
    $time
        AND newaj.id = mokaj.user_id
    ORDER BY mokaj.id DESC LIMIT 
    $offset$rowsPerPage";
    $results mysql_query($query) or die(mysql_error());
    $num mysql_num_rows($results); 
    طبعا لابد ان تعرف المتغير $time قبل ان تقوم بالاستعلام

    كود PHP:
    $time time();// هذا يعني الوقت الآن في هذه اللحظة
    $time time() - 3600// هذا يعطي الوقت قبل ساعة
    $time time() - 3600 24// هذا يعطي الوقت قبل 24 ساعة او قبل يوم واحد
    $time time() - 3600 24 30// هذا يعطي الوقت قبل 30 يوما 
    بمعنى لو كنت تريد الاستعلام عن السجلات التي تحمل تاريخا ما بين اليوم وتاريخ قبل شهر يكون الاستعلام
    كود PHP:
    $time time() - 3600 24 30// هذا يعطي الوقت قبل 30 يوما

    $query "
    SELECT mokaj.*, newaj.*
    FROM mokaj, newaj
    WHERE
        mokaj.mokadate >= 
    $time
        AND newaj.id = mokaj.user_id
    ORDER BY mokaj.id DESC LIMIT 
    $offset$rowsPerPage";
    $results mysql_query($query) or die(mysql_error());
    $num mysql_num_rows($results); 






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

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





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

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

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