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

الموضوع: عملية الإستعلام بدون تكرار الحقل كيف يكون ذالك؟

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715

    عملية الإستعلام بدون تكرار الحقل كيف يكون ذالك؟



    السلام عليكم
    يوجد لدي إستعلام كتالي:
    كود PHP:
    mysql_query("SELECT * FROM articles ORDER BY id DESC"); 

    عباره عن إستعلام من جدول مقالات

    الجدول


    كود PHP:
    CREATE TABLE `articles` (
      `
    idint(10unsigned NOT NULL auto_increment,
      `
    topicint(10unsigned NOT NULL default '0',
      `
    subjectvarchar(255NOT NULL default '',
      `
    writervarchar(255NOT NULL default '',
      `
    descriptiontext NOT NULL,
      `
    texttext NOT NULL,
      `
    resourcevarchar(255NOT NULL default '',
      `
    datevarchar(255NOT NULL default '',
      `
    countervarchar(10NOT NULL default '0',
      
    PRIMARY KEY  (`id`),
      
    KEY `id` (`id`)
    TYPE=MyISAM
    طبعا الحقل writer حقل اسم كاتب المقال
    يوجد للكاتب الواحد أكثر من مقال في الجدول

    --------------------------------------المطلوب--------------------------------------
    أريد الإستعلام عن المقالات بشرط أن لايظهر للكاتب الواحد سوى مقال واحد فقط.
    أي يتاح للكاتب الواحد أن يظهر له واحد من مقالاته الموجودة في الجدول فقط
    -------------------------------------------------------------------------------------
    ولكم جزيل الشكر





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire


  2. #2
    عضو جديد
    تاريخ التسجيل
    Aug 2007
    المشاركات
    11


    انصحك ان تضع الكاتب بجدول منفرد و تضع ضمن جدول الكاتب حقل تسميه show او اي اسم تختاره و يكون للكاتب اختيار مقاله له لتظهر بالصفحه الرئيسيه فيختارها و عند اختيارها تقوم بوضع id المقاله ضمن الحقل show للمزيد من المعلمومات عن العلاقات بالداتابيس بامكانك ان تزور الموقع الموجود ضمن توقيعي





    __________________
    لكل من يحب ان يتعلم PHP Mysql
    و يجد صعوبه مع الكتب نقدم له
    تعليم بالفيديو
    تعلم PHP صوت و صوره

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    شكراً أخي على الرد

    بس هلي يوجد طريقة للإستعلام مثل هذه؟
    mysql_query("SELECT * FROM articles ORDER BY id DESC");

    لأن الجدول فيه مايعادل 11000 مقال (موقع مجله)





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire



  4. كود:
    mysql_query("SELECT *,DISTINCT `writer`  FROM articles ORDER BY id DESC");






    __________________
    هلابي افضل المواقع العربية تصميماً
    انصح باستخدام ابونتو

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    أشكر أخي hilaby

    بس يوجد خلل في الإستعلام

    مع الشرط
    كود PHP:
    <?php
    include("config.php");

    $result=mysql_query("SELECT *,DISTINCT `writer` FROM articles");
    while(
    $data=mysql_fetch_array($result)){

    echo 
    $data[writer];
    echo 
    "<br/>";
    }
    ?>
    بدون شرط
    كود PHP:
    <?php
    include("config.php");

    $result=mysql_query("SELECT * FROM articles");
    while(
    $data=mysql_fetch_array($result)){

    echo 
    $data[writer];
    echo 
    "<br/>";
    }

    ?>






    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    69


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

    جرب

    كود PHP:
    $result=mysql_query("SELECT DISTINCT writer FROM articles ORDER BY id DESC"); 






    __________________
    سبحان الله وبحمده سبحان الله العظيم

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


    قد يكون هذا ماتبحث عنه :
    كود:
    SELECT * FROM articles GROUP BY writer ORDER BY id DESC






    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  8. #8
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2002
    المشاركات
    715


    أشكركم إخواني
    khdma
    Flasher

    فعلاً كلا الكودين يعمل بنجاح
    حبيت أستفسر من أين أقد أحصل على هذه الأكواد "الشرح"
    ولكم جزيل الشكر





    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    475


    أشكركم إخواني
    khdma
    Flasher

    فعلاً كلا الكودين يعمل بنجاح
    حبيت أستفسر من أين أقد أحصل على هذه الأكواد "الشرح"
    ولكم جزيل الشكر
    SQL Tutorial





    __________________
    omansecurity.com
    Email: OmanSecurity AT gmail DOT com

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

    أضف إلى معلوماتك



    الأكواد السابقة كلها صحيحة بس تخرج سجل واحد فقط

    لو كنت أريد أن يخرج مثلاً 4 سجلات أو مقالات للكاتب كيف يمكن أن تتم ؟؟

    هذه المشكلة لها حل واحد فقط

    استخدام عبارة LIMIT مثال عليها

    كود PHP:
    $result=mysql_query("SELECT * FROM articles ORDER BY id DESC LIMIT 0,4"); 
    حيث الرقم 4 يمثل عدد السجلات المراد استخلاصها

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





    التعديل الأخير تم بواسطة مهندس نت ; 20-01-2008 الساعة 03:23 PM





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

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