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

الموضوع: كيف أبرمج محرك بحث صغير OR أو AND ?

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

    كيف أبرمج محرك بحث صغير OR أو AND ?



    السلام عليكم
    برمجت سكريبت عقاري
    وو اجهتني مشكلة في محرك البحث

    كما في الصورة


    إستخدمت في الإستعلام OR و AND
    وماشي فايده

    فكرة البحث
    إن الزائر يختار بعض الخيارات (كما في الصورة) أو كل الخيارات أو لايختار أي خيار حتى يكون البحث شامل

    فكيف يكون الإستعلام إختياري؟


    كود PHP:
    $SQL=mysql_query("SELECT * FROM real_estate WHERE BINARY location LIKE '$location' and type LIKE '$type' and forx LIKE '$forx' and numbathrooms LIKE '$numbathrooms' and numbedrooms LIKE '$numbedrooms' ORDER BY sort") or die (mysql_error()); 






    الصور المرفقة الصور المرفقة  
    __________________
    Linux For Server | Mac For Graphic | Windows For ٍٍٍٍٍSolitaire


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    أخي الكريم
    يجب ادخال شرط if داخل جملة ال select لكي تشمل جميع حالات الخيارات ومثلا اذا اختار خيار معين ولم يختر الاخر وهكذا
    فالاستعلام المفرد هكذا لن يكون صحيحا الا في حالة اختيار قيمة لجميع الخيارات
    لكن اذا تركت خيار فارغ سيفشل البحث





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

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


    شكراً أخي مهندس مصرى على الرد

    ممكن مثال صغير على دالة IF كيف أدخلها في الإستعلام؟





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

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    448


    شكراً أخي مهندس مصرى على الرد

    ممكن مثال صغير على دالة IF كيف أدخلها في الإستعلام؟


    السلام عليكم

    نرجوا ان تضع لنا شرح لبناء محرك بحث اخى يبحث فى جدوال قاعدة بينات

    يمكن البحث فى اى جدول او اى حقل

    جزاك الله خيرا





    __________________
    المصرية للكلادينج والالومنيوم والاعلان
    01004636205
    amrdarwish@gmail.com

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


    ..................................up





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

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


    تفضل هذا شرح بسيط و سريع و اتمنى يفيدك
    Almsamim • Web Developer • create simple php-mysql search engine
    و أى استفسار انا موجود






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


    أخي الكريم
    اعتذر عن التاخير
    الصفحة التي وضعها الاخ drabdalla فيها شرح مبسط لذلك وركز خصوصاً في هذا السطر:

    كود PHP:
    $query "SELECT * FROM $table WHERE $field LIKE "%$trimmed%"";
    if(isset(
    $type)){
    $query .=" AND type = $type";
    }
    if(isset(
    $loc)){
    $query .=" AND loc = $loc";
    }
    $result mysql_query($query); 
    لاحظ اننا لم نُغلق الاستعلام عند المتغير $query في السطر الأول فقط
    بل استكملناه في الاسطر الأخرى عن طريق وضع . (dot)

    وكثال مصغّر على الصورة التي وضعتها ساقوم بكتابة هذا الكود لك وانت تقوم بالتعديل عليه كما تشاء:

    كود PHP:
    #كلمة البحث
    $word trim(stripslashes($REQUEST['word']));
    $query "SELECT * FROM $table WHERE $field LIKE "%$word%"";
    if(
    $REQUEST['location'] != ''){
    #خيار البحث بالمكان
    $location trim(stripslashes($REQUEST['location']));
    $query .=" AND location = $location";
    }
    #خيار بحث آخر
    if($REQUEST['bedrooms'] != ''){
    $bedrooms trim(stripslashes($REQUEST['bedrooms']));
    $query .=" AND bedrooms = $bedrooms";
    }
    $result mysql_query($query); 
    مع ملاحظة انه يمكن التعديل على and مثلا اذا كنت تريد توافر احد الشروط على الاقل فتجعلها or
    وهكذا
    وتضع لكل حقل في الفورم شرط مثل هذا
    وممكن أن تجعل البحث أكثر تقدماً بوضع شروط لكل احتمال في كل حالة





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

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


    أشكرك أخي مهندس مصري
    فهمت الشرح
    ولكن


    كود PHP:
    $query "SELECT * FROM $table WHERE $field LIKE "%$word%""
    جميع خيارات فورم البحث إختيارية لا يوجد ثابت
    يمكن الزائر لا يختار أي خيار فبتالي كيف يتم التصرف مع ؟
    كود PHP:
     WHERE $field LIKE "%$word

    -----------------------------------------------------------------------------------------------
    المتغيرات الخمسه

    كود PHP:
    $location$HTTP_POST_VARS['location'] ;
    $type$HTTP_POST_VARS['type'] ;
    $forx$HTTP_POST_VARS['forx'] ;
    $numbathrooms$HTTP_POST_VARS['numbathrooms'] ;
    $numbedrooms$HTTP_POST_VARS['numbedrooms'] ; 






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

  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    اول شىء انا انصحك باستخدام $_POST بدلاً من $HTTP_POST_VARS

    ثانياً إذا لم يختار المستخدم خيار يمكن ان تعطيه رسالة تجبره على اختيار خيار معين

    كود PHP:
     
    if(empty($_POST['word']))
    {
    die(
    "يجب اختيار قسم للبحث");
    }
    else
    {
    //بقية الاوامر







    التعديل الأخير تم بواسطة مهندس مصرى ; 20-09-2008 الساعة 03:11 AM
    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

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


    أشكرك أخي بس أبي يكون كل الخيارات إختيارية دون إجبار على خيار معين





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

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    بالطريقة السابقة ستكون كل الخيارات اختيارية وليست اجبارية
    واستخدم or عند البحث





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير





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

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

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