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

الموضوع: [نقاش] ماهي افضل طريقه لاضافة مصفوفه في قاعدة البيانات

  1. #1
    عضو شرف
    تاريخ التسجيل
    Mar 2003
    المشاركات
    1,899

    [نقاش] ماهي افضل طريقه لاضافة مصفوفه في قاعدة البيانات



    السلام عليكم

    اعمل حالياً على مشروع

    لدي مصفوفه اريد اضافتها في قاعدة البيانات

    صراحه لم اعرف بالضبط ماذا اختار لنوع الحقل هل text ام char واحدده

    يجب جلب المصفوفه من قاعدة البيانات و التأكد من ان القيمه التي نريد اضافتها غير موجوده ثم نضيف ونكتبها مره اخرى في قاعدة البيانات

    حاولت افكر في حلول وحالياً لا ارى غير حل واحد مناسب وهو باستخدام
    serialize and unserialize
    مثال :

    كود PHP:
    $Arr = array(123,1,555);
    $ser_arr serialize($Arr);
    // add $ser_arr to the db 

    كود PHP:
    // retrive $ser_arr from the db
    $Arr unserialize($ser_arr);
    // check $Arr value 
    هل هذه الطريقه المثلى ام هناك طرق افضل ؟





    __________________
    محلل لنظم المعلومات - ارسل لي رساله خاصه عبر المنتدى | join me on facebook / twitter
    php | flash&flex&air actionscript 2,3 | ajax&javascript | database pro Analyzer




  2. السلام، تقريباُ هي الاسرع، يوجد حل ثاني ولاكن لا انصح بها .. وهو بطريقه الpare values
    اي تعمل جدول فيها الحقول التاليه
    id, record_id, value_name, value
    الrecord_id هو الid اللذي يجمع المعلومات ببعض
    value_name مثل الkey
    الvalue هو محتوى الkey

    فمثلا لديك .. معلومع تريد الاستعلام عنها . وفي ذالك الجدول الrecord_id معناها user_id
    اذا .. ستقوم بالاستعلام الاتالي ..
    كود:
    mysql_qeury('select * from pare_value_table, users where users.id = pare_value_table.record_id');
    وفي هذه الحاله ستجد عدة سجلات يمكن ان تبحث فيها .. واذا تريد ان تعرف اذا كانت هناك معلومه او key بالاسم house_phone
    كود:
    mysql_qeury('select * from pare_value_table, users where users.id = pare_value_table.record_id and value_name = "house_phone"');
    اذا لم يعطيك نتيجه . اذا .. المعلومه غير موجودة ..

    اكرر . لا انصح بهذه الطريقه .. انصح بالطريقه التي انت قمت بالاشاره اليها





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

  3. #3
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    بالنسبة لي أستخدم إحدى طريقتين في العادة،

    serialize
    وهي الأفضل من ناحية تنظيم المعلومات واسترجاعها ( أي من ناحية الكفاءة في العمل ) ..

    و implode
    يمكنك استخدامها لحفظ بيانات بسيطة تفصل بينها بإشارة خاصة ( مع الحذر من استخدام نفس الإشارة في محتويات المصفوفة ) .. ومع عدم وجود مفاتيح keys لعناصر المصفوفة كذلك .. وهي أسرع من الطريقة الأولى بـ 3.4 مرة تقريباً ..

    هناك طريقة ثالثة لكني لا أستخدمها، وهي بناء طلبات الـ http من خلال دالة http_build_query واستعادته بواسطة parse_string .. واحذر في استخدامها كذلك وبنوعية ما بداخلها .. وهي أسرع من serialize بـ 1.5 مرة تقريباً ..

    serialize هي الأفضل بشكل عام لحفظ المصفوفات في وسط آخر، كقواعد البيانات والملفات وغيرها .. الأفضل أحياناً يضطرك إلى تحمّل تكاليف أخرى مثل الأداء الأسوأ نوعاً ما .. هو ليس سيء، لكن بالمقارنة مع غيره سيكون أسوأ ..

    ملاحظة: استشر عقلك دائماً قبل استخدام الطريقة الأمثل، فظرفك يحتاج دراسة خاصة لتطبيق عملك، ولا يمكن تعميم قاعدة معينة لجميع الظروف ..

    أطيب التحيات، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Oct 2003
    المشاركات
    549


    يوجد لدي طريقة كنت قد ابتكرتها قبل ان اعرف دالة serialize

    وهي بتصدير المصفوفة اولاً ومن ثم تشفيرها base64 ثم تخزينها في القاعدة

    وعند استخراجها من الثاعدة يتم فك تشفيرها واسنادها لمتغير

    تماماً مثل الكود التالي :
    كود PHP:
    // يتم تخزين المتغير التالي في القاعدة
    $arr_str base64_encode(var_export($arr,true));

    // يتم تمريره على هذه الدالتين عند استخراجه من القاعدة
    echo eval('$str_arr = '.base64_decode($arr_str).' ;'); 
    لكن بالنسبة للأفضل فاعتقد ان serialize هي الافضل

    اخوكم / صالح المطرفي





    __________________
    صالح المطرفي (Mr.Saphpـ)
    مدونتــــــي
    الصندوق الماسي الخامس
    قوالب WordPress
    تم بحمد الله الإنتهاء من سكربت الدروس العربي 4.0
    http://www.saphplesson.org

  5. #5
    عضو شرف
    تاريخ التسجيل
    Mar 2003
    المشاركات
    1,899


    يعطيكم العافيه ياشباب جزاكم الله خير

    اذاً جميعنا نقر بان serialize هي الافضل


    بالنسبه لـ base64 ففعلا فكرت بها قبلا ولكن اتوقع انها تكون ابطأ بكثير من serialize وذلك لوجود اكثر من عمليه فيها

    implode ليست عمليه حيث من الممكن ان تحتوي المصفوفه على عنصر بداخلها به العلامه الفاصله بين كل عنصر





    __________________
    محلل لنظم المعلومات - ارسل لي رساله خاصه عبر المنتدى | join me on facebook / twitter
    php | flash&flex&air actionscript 2,3 | ajax&javascript | database pro Analyzer

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


    يمكنك تحويلها الى JSON بواسطة الدالة json_encode ومن ثم تخزينها في القاعدة ومن ثمَّ اعادتها الى مصفوفة مرّة اخرى بواسطة الدالة json_decode ، أعتقد أن استخدام الدالتين serialize و unserialize هو الحل الأفضل في هذه الحالة






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


    طيب عند عمل update أو اضافة عنصر جديد للمصفوفة هل سيتم الاستعلام عنها اولا ثم عمل unserialize ثم اضافة العنصر الجديد ثم serialize ؟؟
    ام ان هناك طريقة أخرى؟





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

  8. #8
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    يوجد لدي طريقة كنت قد ابتكرتها قبل ان اعرف دالة serialize

    وهي بتصدير المصفوفة اولاً ومن ثم تشفيرها base64 ثم تخزينها في القاعدة

    وعند استخراجها من الثاعدة يتم فك تشفيرها واسنادها لمتغير

    تماماً مثل الكود التالي :
    كود PHP:
    // يتم تخزين المتغير التالي في القاعدة
    $arr_str base64_encode(var_export($arr,true));

    // يتم تمريره على هذه الدالتين عند استخراجه من القاعدة
    echo eval('$str_arr = '.base64_decode($arr_str).' ;'); 
    لكن بالنسبة للأفضل فاعتقد ان serialize هي الافضل

    اخوكم / صالح المطرفي
    عذرا على التدخل

    اتسائل كيف تتم عملية التشفير ؟
    هل يمكن ان تشرحها لنا؟
    وكيف تتم عملية تشفير كلمات المرور وادخالها بالقاعدة ؟ وكيف يتم استرجاعها وفك عملية التشفير؟

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





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم

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


    عذرا على التدخل

    اتسائل كيف تتم عملية التشفير ؟
    هل يمكن ان تشرحها لنا؟
    وكيف تتم عملية تشفير كلمات المرور وادخالها بالقاعدة ؟ وكيف يتم استرجاعها وفك عملية التشفير؟

    وجزاك الله كل خير
    اخي الكريم التشفير بدالة md5 وخد ية دالة انا عاملة


    كود PHP:

    function md5_text($str){
    return 
    htmlspecialchars(addslashes(strip_tags(trim(md5($str)))));

    حطة في ملف واستدعي الملف ثما اكتب

    كود PHP:

    $pass
    =md5_text($_post['password']); 
    ونفس الشئ عند استعلام علي كلمة المرور

    بتوفيق





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

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


    عذرا على التدخل

    اتسائل كيف تتم عملية التشفير ؟
    هل يمكن ان تشرحها لنا؟
    وكيف تتم عملية تشفير كلمات المرور وادخالها بالقاعدة ؟ وكيف يتم استرجاعها وفك عملية التشفير؟

    وجزاك الله كل خير
    هذه الأوامر ليس لها اى علاقة بتشفير كلمات المرور او التشفير كله
    هذا التشفير مؤقت فقط ولا يُستخدم بهدف التشفير بل بهدف جمع بيانات المصفوفة في سجل واحد فقط بدلا من انشاء سجل لكل حقل

    اما تشفير كلمة المرور تستطيع استخدام تشفير md5





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





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

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

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