صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 18

الموضوع: عندي مشكله بترتيب الاسماء حسب الاحرف

  1. #1
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627

    عندي مشكله بترتيب الاسماء حسب الاحرف



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

    أخواني تم عمر برنامج ولكن تواجهني مشكله بترتيب الاحرف

    ترميز القواعد utf8 و الصفحة utf8

    تم إضافة هل اوامر عشان يكتب عربي

    كود PHP:
    @mysql_query("SET NAMES 'utf8' COLLATE 'utf-8' ");  

    @
    mysql_query("SET character_set_server='utf8'; ");  

    @
    mysql_query("SET character_set_client='utf8'; ");  

    @
    mysql_query("SET character_set_results='utf8'; ");  

    @
    mysql_query("SET character_set_connection='utf8'; ");  

    @
    mysql_query("SET character_set_database='utf8'; ");  

    @
    mysql_query("SET collation_connection='utf8_general_ci'; ");  

    @
    mysql_query("SET collation_database='utf8_general_ci'; ");  

    @
    mysql_query("SET collation_server='utf8_general_ci'; "); 
    لقد عملت التالي



    كود PHP:
        $check_query mysql_query("SELECT * FROM file where cat='".$catid."' order by name") or die('Query failed: ' mysql_error() ); 
    كود PHP:
        $check_query mysql_query("SELECT * FROM file where cat='".$catid."' order by BINARY name") or die('Query failed: ' mysql_error() ); 
    هل في طريقه ثانية ؟؟

    وشكراً





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين


  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    هل في حل ؟؟





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


    هل تظهر الاسمار غير مرتبة
    ام مرتبة ابجديا بالعكس؟

    في حالة كانت الاجابة الثانية قم باضافة ASC الى نهاية الاستعلام





    __________________
    مدونتي

  4. #4
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    تظهر الاسما غير مرتبة





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

  5. #5
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    هل من مساعده ؟





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

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


    كان لدي موقع تعمل قاعدة بياناته بترميز latin1 وعندما اعدت برمجته وحولته طبعاً الى الترميز utf8 واجهتني نفس مشكلتك تماماً مع ان الموقع في السابق كان يقوم بالترتيب الابجدي بشكل صحيح مع انه ليس 100% لانه كان يرتب على الحرف الاول فقط
    وبعد عناء شديد وبحث في الانترنت لم اتوصل الى اي نتيجة ولم اجد اثر لهذه المشكلة في اي من المواقع
    فاقترحت عمل حل بطريقة تعتبر غبية نوعاً ما لكنها الوحيدة حالياً لحل المشكلة وهي عن طريق تحويل الترميز الى latin1 ثم عرضه بال utf8 واليك مثال على استخدام هذه الطريقة..
    كود PHP:
     SELECT FROM `tableORDER BY CAST(CONVERT(`titleUSING latin1) AS BINARY 
    هناك حل آخر فكرت به وهو تمرير جميع الحقول على مصفوفة بال php واستخدام الدالة sort ثم اعادة ترتيبها بقاعدة البيانات بهذه الطريقة وهكذا عند ادخال اي جديد في قاعدة البيانات تقوم بعمل نفس الدالة مرة اخرى واعادة ترتيب كافة الصفوف مرة أخرى وهي أيضاً طريقة ناجحة لكنها مرهقة كثيراً

    نرجو من المبرمجين التعاون فيما بيننا للحصول على حل مباشر لهذه المشكلة لان هذا ليس حل لكنه طريقة للالتفاف حول المشكلة وحلها.
    كما انبه ايضاً ان الترتيب يكون على حسب الاحرف الاولى فقط وليس جميع الاحرف .. فهذا هو الغريب لاننا نستخدم binary المفروض يتم الترتيب بشكل صحيح وعلى جميع الاحرف
    نرجو من خبراء الترميز توضيح هذه الاشكالية

    أتمنى أن يفيدك ما وصلت اليه .. واذا وجدت جديد بخصوص هذه المشكلة الرجاء تحديثه بالموضوع
    وجزاكم الله خيرا





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

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    مشكور حبيبي بس الحين فيه مشكله
    Query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    الطلب صار
    $check_query = mysql_query("SELECT * FROM `file` where cat='".$catid."' ORDER BY CAST(CONVERT(`name` USING latin1) AS BINARY ") or die('Query failed: ' . mysql_error() );






    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

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


    جرب الاستعلام بالشكل التالي:
    كود PHP:
         $check_query mysql_query("SELECT * FROM `file` where  cat=$catid ORDER BY CAST(CONVERT(`name` USING latin1) AS BINARY ")  or die('Query failed: ' mysql_error() ); 
    وتاكد ان المتغير $catid يحمل قيمة لانه يبدو من الخطأ أنه لا يحمل قيمة
    او جرب ازالة الشرط كله كتجربة فقط





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

  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    إلى الان يوجد المشكله

    تم تعديل إلى
    $check_query = mysql_query("SELECT * FROM `file` where cat=$catid ORDER BY CAST(CONVERT(`name` USING latin1) AS BINARY)") or die('Query failed: ' . mysql_error() );
    يعطيك العافيه

    هل تتوقع في مكان ثاني فيه المشكله ؟





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

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


    جرب وضع قيمة بدل المتغير $catid
    where cat=1
    بحيث ان رقم 1 قسم موجود عندك






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

  11. #11
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    تم فعلها و نفس النتيجه لم يتم ترتيب النتائج





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

  12. #12
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    أخى قم بتغيير ال
    Collation

    الخاص بخانة الإسم
    إلى

    utf8_general_ci


    عملت لك هذا المثال جربه

    كود PHP:

    @mysql_query("SET character_set_results='utf8'");  

    $sql mysql_query("SELECT * FROM test order by name");
    while (
    $result mysql_fetch_array($sql)){
        
        echo 
    "<br/>".$result['name']."<br/>";

    القاعدة مرفقة





    الملفات المرفقة الملفات المرفقة
    التعديل الأخير تم بواسطة khashabawy ; 23-09-2010 الساعة 03:32 PM

  13. #13
    عضو فعال جدا
    تاريخ التسجيل
    Sep 2007
    المشاركات
    2,065


    جرب تستخدم كلاس الأخ خالد الشمعه
    http://www.phpclasses.org/package/28...cal-rules.html






  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Feb 2004
    المشاركات
    627


    مشكورين اخواني تم حل المشكله عن طريق phpmyadmin

    مع العلم انه لم يتم حل اي مشكله عن طريق كل الحلول إلي عطيتوني اياها





    __________________
    اللهم أغفر لنا ولوالدينا وللمؤمنين والمؤمنات والمسلمين والمسلمات
    الأحياء منهم والأموات يا أرحم الراحمين

  15. #15


    أخ حمد مبارك
    وكيف تم حلها عن طريق phpmyadmin
    نأمل إفادتنا لنتعلم وشكرا لك










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

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

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