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

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

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

    المساعده في الخوارزميه يا محترفين البي اتش بي



    السلام عليكم

    كيف الحال يا شباب
    الصراحه حبيت اسوي موقع اعلانات مبوبه
    رحت الف على المواقع العربيه على اساس اشوف الأفكار فيهم واحسن الافكار واسوي موقع شامل

    لاقيت موقع www.bezaat.com

    الصراحه هوه الي شامل كل مزايا المواقع الأخرى

    بديت اسوي زي هاد الموقع

    بس علقت في مشكله ما لاقيتلها حل

    اول شيء الموقع كل يوم او يومين يضاف فيه قسم جديد

    يعني الأقسام دايناميكيه وليست ثابته

    لو دخلت على اضافة إعلان في وظائف


    ودخلت على اضافة إعلان في سيارات


    سنجد الاتربيوت مختلفه
    البيانات المطلوب ادخالها مختلفه عن كل تصنيف والأخر

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

    ارجو المساعده







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


    هذه برمجتها صعبة - وادخلتني انا شخصياً الى دوامة الى ان استطعت حلها ....

    ولكن يمكنك الاستعانة مثلاً بكل البرامج المفتوحة والتي يمكن ان تجدها اذا فتشت عن كلمة
    ad classifieds

    من هنا http://www.google.com/search?hl=en&r...&aq=f&oq=&aqi=

    الحل بالكلمات:
    اولا تخلق انواع معطيات text box, selection box, check box
    ثم لكل تصنيف تضيف انواع المعطيات - ولكل معطى تعطيه اسم label
    وهكذا ...

    صعبة بعض الشئ ...





    __________________
    أحب سوالف ولا احب الجدليين!
    اسماء اولاد وبنات http://muslim-names.us
    1000 مزاد http://1000mazad.com
    موقع نكت سعوديةhttp://arab-jokes.net

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


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

    شكر لك مره اخرى






  4. #4
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    قد فكرت في حل قد يبدو طويلًا بعض الشيء:

    لماذا لا تدخل المعطيات إلى قاعدة البيانات على انها كائن(object) أو مصفوفة تستطيع ذلك من خلال عملية تدعى serialization

    اعمل جدول للاقسام يحتوي على التالي:
    id
    caption
    fields

    بحيث ان fields تحتوي على المصفوفة المكونة من:

    مصفوفة من نوع field (اعمل كائن من نوع field)تحتوي على معلومات عن الحقل id,type,caption,value

    كما أنك ستحتاج للدوال التالية(دوال منفصلة وليست في الكائن):
    دوال لإضافة وازالة الحقول
    دالة لطباعة الحقول على شكل نموذج بالهتمل
    دالة للوصول إلى الحقل عن طريق ادخال رقمه getElementById

    أما الجدول الثاني فهو للمواقع المعلنة يحوي التالي:
    id
    company_name
    catID
    attributes

    بحيث ان attributes مصفوفة ، تحتوي على معلومات الشركة (تأكد من ان عدد الحقول التي في المصفوفة مساوية للتي يجب ان تكون في القسم وبنفس الترتيب)


    معلومات عن ال serialization:
    http://www.devshed.com/c/a/PHP/Worki...ects-in-PHP/3/

    اتمنى ان تكون المعلومات مفيدة.





    التعديل الأخير تم بواسطة ahmad sadiq ; 12-01-2010 الساعة 09:17 AM

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


    هذه البرمجيات مفتوحة المصدر ... ويمكنك منها تعلم طريقتهم ...
    مثال:
    Noah classifieds
    http://noahsclassifieds.org/
    فقط اقرأ الدوال المسؤولة - وكيفية كتابة قاعدة البيانات.

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

    ولكن نصيحتي لك:
    اذا اردت ان تبني عدد محدد من التصنيفات ... قم ببناء جداول منفردة ولا تعمل بهذه الطريقة ...
    هذه الطريقة جائت لعمل برامج عامة ... ولكن البرامج الخاصة يحب ان لا تعتمد على مثل هذه الطريقة...
    ستفهم ما اعنيه بعد ان تفهم طريقتهم جيدة وترى كم هي معقدة.





    __________________
    أحب سوالف ولا احب الجدليين!
    اسماء اولاد وبنات http://muslim-names.us
    1000 مزاد http://1000mazad.com
    موقع نكت سعوديةhttp://arab-jokes.net

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


    مشكورين يا شباب ما قصرتو
    ولا زلت مستمر في البحث






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


    قمت سابقاً بعمل مثل هذا التطبيق في عمل مطلوب مني ..
    من المؤكد أنك ستعتمد كثيراً على الجافا سكربت نظراً لان طريقة كل نوع مختلفة عن النوع الآخر
    ابتداءاً باسهلهم text و مرورا ب radio و checkbox و select ..
    قمت بإتّباع هذه الفكرة..
    1- أقوم بعمل مصفوفة تعريف لكل عنصر مُحتمل في ال forms و اعطيه id معين مثال ..
    كود PHP:
     $types = array( 1=> "text"2=>"select"); 
    وهذه ستكون في ملف ثابت يتم استدعائه عند اضافة صنف جديد من اللوحة او عند العرض في الموقع.

    2- في لوحة التحكم سيكون هناك قائمة select بكافة الانواع التي تم عمل مصفوفة بها $types وكل نوع له value = id

    3- الآن ستقوم بشغل الجافا سكربت بحيث سنقوم بتنفيذ function بعد اختيار النوع من القائمة select الخاصة في الانواع كالتالي:
    كود HTML:
    <select name="attributes_types" onchange="generate_attributes(this.value)">
        <option value="1">text</option>
        <option value="2">select</option>
    </select>
    و هذه ال function generate_attributes() ستقوم على اساسها بتحديد النوع وتقوم انشاء forms بطريقة ديناميكية اما عن طريق document.write او document.creatObject

    وهذا اصعب مافي جزء الجافا سكربت وهذا اكثر ما عانيت فيه حين عمل التطبيق الذي قمت بعمله

    لكن لاحظ ان اي عنصر ستقوم بانشاءه بطريقة ديناميكية يجب ان يكون ال name الخاص به هو مصفوفة في الجافا سكربت لاننا عند الاضافة سنقوم بعمل serialize لكل العناصر واضافتها بحقل واحد

    اي لنفترض ان ال function generate_attributes ستنشأ لنا عنصر text او عنصر select مثلاً ستقوم بعمل ال name الخاص به بحيث يكون على الشكل ..

    <select name="attribute[1][]"></select>
    <input type="text" name="attribute[2][]">

    حيث أن 1 و 2 لا تعني الترتيب لكنها تعني ال id الخاص بهذا العنصر لكن الترتيب سيقوم ال html بترتيبهم ابتداءا من الصفر الى ان ينتهي من عد عدد نفس النوع من ال attribute لانك قمت بعمل ال name على شكل مصفوفة

    اي في النهاية سنحصل على سبيل المثال :

    - عدد 3 من النوع text المعرف ب (attribute[1])
    - عدد 2 من النوع select المعرف ب (attribute[2])

    بحيث ان 1 و 2 سيتم تحديدها كما قمت بتحديدها تماما في المتغير $types في اول الفكرة.

    انتهينا من عمل النماذج تبقى الاضافة والعرض ..
    عند الاضافة ستقوم بعمل serialize للمتغير :
    كود PHP:
    $_POST['attribute'
    والذي سيجمع كل عناصر ال form في مصفوفة واحدة ذات بُعدين (البعد الاول لتعريف النوع - البُعد الثاني لجعل هذا العنصر uniqe لتستطيع استدعائه بعد ذلك

    ثم تقوم باضافته بحقل واحد في قاعدة البيانات من نوع text

    انتهي دور الاضافة سناتي للعرض ..
    1- سنقوم باستدعاء الحقل text ونقوم بعمل unserialize له
    سينتج لنا مصفوفة ذات بعدين على هذا الشكل ..
    كود PHP:
    array(1=>array(0=>"اسم البيان الذي تريد وضعه"1=>"اسم البيان الذي تريد وضعه") ,
          
    2=>array(0=>"اسم البيان الذي تريد وضعه"1=>"اسم البيان الذي تريد وضعه") ,    

    ستقوم بفلترة المصفوفة عن طريق ال keys اي ان ال key الرئيسي سيكون لنوع ال attribute و ال key الداخلي للمصفوفة الداخلية هو الرقم الفريد لهذا ال attribute.

    وستقوم بعرضهم داخل حلقة باستخدام foreach مثلا بحيث يكونوا على هذا الشكل ..
    كود HTML:
    <select name="attribute[1][2]"></select>
    <input type="text" name="attribute[2][5]">
    و تعتمد في الاضافة على ال serialize في الجدول الخاص بعمليات الاضافة.

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

    يمكن تخطي هذه الطريقة بطريقة ليست جيدة لكنها تمشي الحال ..
    بحيث ستقوم بعمل صفحة قبل صفحة اختيار فورم جديد بحيث تاخذ من المستخدم نوع وعدد العناصر التي يريدها ..
    - 3 عناصر textarea
    - 4 عناصر radio
    - 7 عناصر select

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

    اتمنى ان تفيدك هذه الفكرة.





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

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


    ما شاء الله عليك اخي "مهندس مصرى"

    شكرا جزيلا على هالمعلومات الجميله






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


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





    __________________
    يتم قبول الان استقبال اي طلبات التطبيقات
    على اي نوع من المنصات الاتيه للجوال
    ( اندرويد -- ايفون ) تابعنا
    ( أعمالنا - اتصل بنا )
    يمكنك الان عمل تطبيق خاص لمنتداك





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

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

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