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

الموضوع: استعلام حيرني .. أحيله إلى خبراء سوالف ..

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

    استعلام حيرني .. أحيله إلى خبراء سوالف ..



    السلام عليكم ..

    عندي قاعدة بيانات تحتوي على الجداول التالية:
    Bukhary
    Bukhary_Titles
    Muslem
    Muslem_Titles
    Termizy
    Termizy_Titles

    إلى آخره من الجداول ..
    وكل من جدول Bukhary و Muslem و Termizy وغيرهم من الجداول التي لا تنتهي بكلمة Titles يحتوي على الأعمدة التالية:
    id
    nass
    part
    page
    hno

    الاستعلام المطلوب هو عمل بحث في كل الجداول التي لا تنتهي بكلمة Titles في العمود nass .. فكيف يتم هذا الاستعلام ؟؟
    باختار شديد يعني يكون على هذا الشكل أو مقارب له:

    كود PHP:
    SELECT FROM WHERE `nass` = "$search"
    مع العلم أن هذا ليس استعلام ولا يمكن أن يتم في قواعد البيانات فما الحل ؟؟

    وكذلك فإن نتائج البحث يجب أن تحتوي على (اسم الجدول + نتائج البحث + عدد النتائج) فكيف يتم ذلك ؟؟





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    جرب كده الاستعلام كده
    وان شاء الله يكون ده طلبك
    كود PHP:

    SELECT count
    (T.id) as Tcount,count(M.id) as Tcount,count(B.id) as Tcount,
    T.*,M.*,B.* FROM Termizy as T,Muslem  as M,Bukhary as 
    WHERE T
    .nass "$searchor M.nass "$searchor B.nass "$search"






    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

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


    وكل من جدول Bukhary و Muslem و Termizy وغيرهم من الجداول التي لا تنتهي بكلمة Titles

    تقصد الجداول الثلاثة ليست هي المستهدفه فقط .؟ يعني عدد الجداول متغير .؟






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


    نعم أحسنت عدد الجداول متغير وليس بثابت .. وهذه هي المشكلة التي تواجهني ..

    قمت بعمل تكرارين .. الأول فيه الاستعلام التالي:

    كود PHP:
    Show Tables WHERE `Tables_in_Hadeethnot LIKE '%_Titles' 
    وكان هذا الاستعلام شغال 100% في PhpMyAdmin .. وقمت بوضع النتائج في مصفوفة سميتها $Hadeeth_Books .. وحسبت عددها لكي أدخلها في التكرار الثاني على هذا الشكل

    كود PHP:
    SELECT FROM `$Hadeeth_Books[$i]` WHERE `nassLIKE '%$search%' 
    ولكني لم أفلح في هذا .. ولا أعلم ما السبب .. مع أني قمت بطباعة الاستعلام فخرج لي صافي ما فيه مشاكل ولما أدخلته في قاعدة البيانات أخرج لي خطأ لا أدري ما السبب ..

    لكني لازلت أعتقد أن خيراء سوالف لديهم طرق مختصرة أكثر من التكرار وأسرع منه ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

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


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

    وشكرا لك أخي shoqi على تفهمك ..





    __________________
    لغة PHP

    طريقك نحو التقدم و الإبداع .. قريبا جداً

  6. #6


    يالغالي ما اعرف لماذا تجعل لكل شخص جدول كامل !

    يمكنك عمل جدولين فقط

    NAMES
    TITLES

    وبالجدول الأول تضع كلهم مع وضع تمييز اما بجعل حقل للاسم الخاص وهو يتكرر حسب المحتوى

    والجدول الثاني نفس الشيء

    وبالتالي يمكنك البحث بالاستعلام الطبيعي

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

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


    يالغالي ما اعرف لماذا تجعل لكل شخص جدول كامل !
    صحيح، فتقليل عدد الجداول أفضل، ولا داعي أن يكون رِجال البخاري في جدول، ورجال مسلم في جدول ... !!!
    هذا متعِب في البحث ويزيد عدد الجداول بلا فائدة، إجعلهم في جدول واحِد، ومن ثم الفلترة تكون بالإستعلامات


    فيكون بدلاً من
    وكل من جدول Bukhary و Muslem و Termizy وغيرهم من الجداول التي لا تنتهي بكلمة Titles يحتوي على الأعمدة التالية:
    id
    nass
    part
    page
    hno
    يصبح جدول واحِد، وأضف عليه خانة، للمحدث ثم تقوم بالإختيار (البخاري أو مسلم أو الترمذي ... إلخ)
    فيصبح كالتالي
    id
    mohadith
    nass
    part
    page
    hno


    أو كما تشاء، المهم أرجو أن تكون الفِكرة الرئيسية وصلت
    وأسأل الله أن يوفقك ويُعينك






  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2008
    المشاركات
    427


    على العموم، حقيقة لم أفهم مقصدك من الخانات في الجداول
    ثم كما قال لك الإخوة، من المصعب جداً أن تقوم بعمل جدولين لكل محدِث، سيكون عندك أكثر من 200 جدول !!

    أرجو أن تضع لنا تصورك لقاعدة البيانات، من شرح المقصود من كل خانة، كي يستطيع الإخوة مساعدتك، ونشارِكك الأجر

    ويمكنك الإستفادة من الموسوعة الحديثية في موقع الدرر السنية
    وهذا مِثال (الختان)






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


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

    الجدول Bukhary (مثال لكل الجداول التي لا تنتهي ب _Title) يحتوي على كتاب صحيح البخاري كامل مع النص والأحاديث ويكون كل ذلك في العمود nass .. وأما العمود part فيحتوي على رقم المجلد .. وأما العمود page ففيه يكون رقم الصفحة من ذاك المجلد .. وأما العمود hno فيحتوي على رقم الحديث الموجود بالصفحة ..

    وأما الجدول Bukhary_Title (وهو مثال كذلك لكل الجداول التي تنتهي ب _Title) يحتوي على العمود tit الذي يحتوي على أبواب الكتاب والعناوين ..

    حقيقة أيها الإخوة يصعب علي جدا التعديل على الجداول لسببين رئيسيين:
    الأول: أن هذه الكتب موجودة أصلا في الإنترنت على هيئة .bok وهي صيغة المكتبة الشاملة وأنا قمت بتحويلها لتتلاأم مع MySQL.
    ثانيا: لكثرة الكتب الموجودة حاليا في قاعدة البيانات.

    وهناك سبب ثالث وهو أني قمت بتعديل الكتب قبل إدخالها في قاعدة البيانات فأخشى من إدخال بيانات خاطئة تفسد علي الكتب التي تعبت في جمعها وتحصيلها وتعديلها وتحويلها ..






  10. #10


    بسيطة يالغالي اول شي سوي قاعدة جديدة وبعدها قم ببرمجة سكربت يقوم بنقل المحتويات ، ولو بشكل بطيء اي شبه يدوي يعني تحدد انت المعطيات في كل مرة ...!

    وبذلك تضمن النقل ، ولكن في طريقتك فهذا لن يساعدك ابدا في تطوير الافكار مستقبلا ، ولن تستطيع عمل اي شيء !

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

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


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






  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2008
    المشاركات
    427


    لا حول ولا قوة إلا بالله
    قمت بكتابة رد وذهب أدراج الرياح والله المستعان، نسأل الله الإخلاص


    المهم
    قم بعمل جدولين فقط

    الأول books يحتوي
    كود:
    (id, book_name, folder_no, page_no, hadeeth_no, text)
    أظن أن المسميات واضحة

    والثاني sections يحتوي
    كود:
    (id, book_name, title)

    تأكد أن نوع الحقول وحجمها مطابق لنوع الحقول في الجداول القديمة



    الآن النقل بسيط وبإذن الله لن يأخذ وقتاً معك

    الأن هذا ملف جاهز لنقل وتفريغ جميع الجداول في الجدولين الجديدين (بالتأكيد تم العمل عليها دون تجربة حقيقية لعدم توفر القاعدة)

    كود PHP:
    <?php
    $database
    ='';
    $user_name='';
    $passowrd='';

    $linkmysql_connect("localhost""$user_name""$passowrd") or die ('con');
    mysql_select_db("$database") or die ('db');
    mysql_query('SET NAMES UTF8');

    //Insert Into Books
    $books=mysql_query("select table_name from information_schema.tables
    where table_schema = '
    $database' and table_name not like '%_Title' ");
    while(
    $row=mysql_fetch_array($books)){
    $book_name=$row[table_name];
    mysql_query("INSERT INTO books (book_name, folder_no, page_no, hadeeth_no, text)
    SELECT '
    $book_name', part, page, hno, nass FROM $book_name"$link) or die('Error1');
    }


    //Insert Into Sections
    $section=mysql_query("select table_name from information_schema.tables
    where table_schema = '
    $database' and table_name like '%_Title' ");
    while(
    $row=mysql_fetch_array($sections)){
    $book_name=$row[table_name];
    $book_name=str_ireplace('_Title','',"$book_name");
    mysql_query("INSERT INTO sections (book_name, title)
    SELECT '
    $book_name', title FROM $book_name"$link) or die('Error2');
    }

    ?>
    قم بملء الخانات بالبيانات الأساسية (اسم القاعدة، اسم المستخدم، كلمة المرور) في بداية الصفحة
    ولي عودة بعد أن يتحسن المزاج، أرجو عرض النتائج





    التعديل الأخير تم بواسطة مستر سمعة ; 02-01-2011 الساعة 01:51 AM

  13. #13


    @مستر سمعة

    ++9999

    ما قصر معاك الاخ وهذا ما كنت اقصده من اول رد لي ، ولكنك للأسف انت تستصعب الامور كثييييرا ، وهذا قد يصيبك احيانا بالملل .. فلذلك انصحك بالبرمجة بالتخلي عن الملل والكلل والعمل كأنها هواية وتحدي ...

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

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


    يا أخي عبد الله بو لبن عندي أكثر من 40 ألف كتاب والصراحة طلبك صعب جدا وقد يكون مستحيل ..
    الأخ سمعة ماقصر وأعطاك جزء من الحل ..

    إدخال جميع الكتب في جدول واحد..

    لكن بهذا الكم من الكتب اللي عندك ( 40000 ) كتاب وتريد أن تبحث بـ ( LIKE ).!!

    السيرفر كذا راح يصفر مع كل بحث .. ومع كثرة الزار الله يكون بعونه...






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


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

    لكن هناك سؤال قد يبين قصدي من استخدام جدول لكل كتاب .. ماذا لو أراد الباحث أن يبحث في صحيح البخاري فقط!! .. سيستغرق هذا البحث وقتا أطول من اللازم لأن جدول البحث سيحتوي على جميع الكتب .. أما إذا كان كل كتاب في جدول مستقل سيستغرق وقتا أقل .. وأنا لا أريد إجهاد قاعدة البيانات ..

    عموما هذا ليس تذمرا ولكن هذا ما يجعلني أتمسك بالتصميم القديم لقاعدة البيانات والجداول .. سأقوم بالتجربة اليوم بإذم الله عند وصولي للمنزل فأنا في طريق الرجوع من السفر ..

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










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

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

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