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

الموضوع: كيف يتحقق الاستعلام ويظهر الناتج بدون تكرر

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

    كيف يتحقق الاستعلام ويظهر الناتج بدون تكرر



    السلام عليكم

    اخواني انا سويت هذا الاستعلام ويعمل 100% ولكن... انظر للاستعلام اولا
    كود PHP:
    $sql="SELECT students.name, education.education FROM students LEFT JOIN education ON 
    (students.link <> education.link) 
    WHERE education.data < UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL 3 DAY ))
    ORDER BY students.id";


    $result=mysql_query($sql) or die(mysql_error());  

    while($row=mysql_fetch_array($result)){ ?>
    <?php echo $row['name']; ?>  <?php echo $row['education'];  ?><br>
    <?php
    }
    الغرض من الاستعلام ان يظهر لي جميع الطلاب الذين لم يختبرو المواد...
    يعني يظهر ناتج الاستعلام......

    محمد لم يختبر الرياضيات
    محمد لم يختبر فيزياء ...
    وهكذا اسماء الطلاب كلهم !!!!!.........



    قاعدة بيانات المستخدمه بهذا الشكل...
    الجدول الاول students
    يحتوي على اسماء وحقل link للربط بالجدول الاخر
    http://www.swalif.net/softs/attachme...1&d=1315565706


    الجدول الثاني education
    يحتوي على اسم المادة وتاريخ الاضافه وكود الربط بالجدول الاخر link
    http://www.swalif.net/softs/attachme...1&d=1315565706




    يكون الناتج هكذا باستخدام الاستعلام.......
    محمد رياضيات
    محمد القران الكريم
    محمد انجليزي
    عبدالله فيزياء
    عبدالله رياضيات
    عبدالله القران الكريم
    محمد انجليزي
    محمد فيزياء
    محمد رياضيات


    لان محمد متكرر الاسم مرتين كما في الصورة يعتبر ان محمد ليس طالب واحد
    http://www.swalif.net/softs/attachme...1&d=1315565706


    علما بان محمد هو طالب واحد



    انا اريده اذا كان الاسم واحد "محمد" يجمع اختبارات للطالب "محمد" ويكون الناتج من المفترض هكذا
    عبدالله رياضيات
    عبدالله القران الكريم
    عبدالله فيزياء
    محمد رياضيات
    محمد انجليزي


    كيف يمكن التعديل على هذا الاستعلام..........





    الصور المرفقة الصور المرفقة   
    التعديل الأخير تم بواسطة manindark ; 09-09-2011 الساعة 03:00 PM


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


    مساعدة......






  3. #3


    عبدالله رياضيات
    عبدالله القران الكريم
    عبدالله فيزياء
    محمد رياضيات
    محمد انجليزي
    في طلبك يوجد تكرار للإسم !!
    فماذا تريد بالضبط ؟
    هل تريد أن يكون الترتيب حسب الإسم ؟
    يعني عرض مواد عبد الله ثم مواد محمد ؟

    لو كان هذا طلبك فعليك الترتيب (ORDER BY) حسب الإسم -name- و ليس حسب الـ id

    لو غير هذا تفضل بالتوضيح .

    بالتوفيق .






  4. #4
    ينتظر رسالة التوكيد
    تاريخ التسجيل
    Jul 2011
    المشاركات
    77


    حتى تحصل على اسم مستخدم واحد يندرج تحته اكثر من موضوع داخل حقل واحد
    قم بالتجميع حسب اسم المستخدم group by ثم استعمل group_concat
    http://stackoverflow.com/questions/2...into-one-field
    وبهذا لا تتلخبط بين المستخدمين(اصلا يجب ان ترجع لرقم المستخدم وليس الاسم)

    ونصيحة لا تستعمل دوال الوقت الخاصة بال mysql ، إلا بعد تحديد المنطقة الوقتية الخاصة
    بmysql بحيث تكون نفس php
    لأنه ليس شرطًا ان يكون الوقت في php هو نفسه في mysql
    http://community.invisionpower.com/blog/190/entry-3687-keep-mysql-php-time-in-sync/

    والاحسن انه تستعمل التالي:
    كود PHP:
    $now date("Y-m-d H:i:s"
    كود PHP:
    date("Y-m-d H:i:s",strtotime("+ 3 days")); 
    لإنه مش دائمًا ينفع حل الاستعلام
    في طلبك يوجد تكرار للإسم !!
    فماذا تريد بالضبط ؟
    هل تريد أن يكون الترتيب حسب الإسم ؟
    يعني عرض مواد عبد الله ثم مواد محمد ؟

    لو كان هذا طلبك فعليك الترتيب (ORDER BY) حسب الإسم -name- و ليس حسب الـ id

    لو غير هذا تفضل بالتوضيح .

    بالتوفيق .
    زمان عنك والله





    التعديل الأخير تم بواسطة أحمد العبد الله ; 10-09-2011 الساعة 11:05 AM

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


    في طلبك يوجد تكرار للإسم !!
    فماذا تريد بالضبط ؟
    هل تريد أن يكون الترتيب حسب الإسم ؟
    يعني عرض مواد عبد الله ثم مواد محمد ؟

    لو كان هذا طلبك فعليك الترتيب (ORDER BY) حسب الإسم -name- و ليس حسب الـ id

    لو غير هذا تفضل بالتوضيح .

    بالتوفيق .
    اخي انا لا اريد الترتيب على حسب الاسم
    وانما اريد اظهار جميع المواد التي لم يختبرها محمد مثلا...


    لنركز شرحنا على اسم واحد في الجدول وهو ........محمد

    انظر للصورة...
    http://www.swalif.net/softs/attachme...1&d=1315565706
    http://www.swalif.net/softs/attachme...1&d=1315565706

    نرى ان محمد دخل الاختبار (فيزياء - القران الكريم) اليس كذلك..
    بس محمد لم يختبر مادة (رياضيات - الانجليزي )


    انا اريد هذا الناتج المواد التي لم يختبرها محمد ويظهر الناتج
    محمد لم يختبر رياضيات - انجليزي






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


    أخوي أرى أنك تعقد نفسك بهذه الطريقة

    لانك تكرر اسم الطالب بعدد المواد وتُكَون الرابط بين الطلاب و بين المواد العمود link

    اجعل جدول للطلاب تخزن به اسمائهم مع id وبيانات اخرى تكون ثابته للطالب

    ثم اجعل جدول فيه الأعمده التالية id,المادة,اختبرت أم لا<وتكون القيمة yes or no>,ورقم الطالب<الذي هو id تبع الطالب في جدول الطلاب>.

    هذا رأيي






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


    الله يعطيك العافية تم تغيير قواعد البيانات واصلاح الاستعلام والان يعمل 100%










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

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

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