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

الموضوع: أفكار برمجية بحاجة إلى تطبيق

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

    أفكار برمجية بحاجة إلى تطبيق



    سأستعرض هنا بعض الأفكار البرمجية التي تحتاج للتطبيق العملي .

    الأرشفة : ماهي الطريقة المستخدمة في الأرشفة ؟ وكيف سيتم عرض البيانات ؟ وكيف يمكن عرض البيانات من خلال الشهر ؟ مثلاً :
    التصنيفات : كيف سيتم تخزين التصنيفات ؟ و وكيف سيتم عرض كل تصنيف ؟ كيف يمكن جعل للمقال الواحد أكثر من تصنيف ؟ وكيف سيتم حفظ التصنيفات للمقال الواحد في قاعدة البيانات ؟ وكيف سيتم إستخراج التصنيفات للمقال عند العرض ؟

    الوسوم أو الـ tags : نفس فكرة التصانيف .

    بإنتظار حلولكم البرمجية وأخص بالذكر فكرتي الأرشفة و التصانيف .





    التعديل الأخير تم بواسطة dev11 ; 06-06-2008 الساعة 08:53 PM


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


    اهلا بك اخي dev

    انا ايضا ابحث عن كيفية جعل للمقال الواحد أكثر من تصنيف ؟

    اتمنى ان يتم التوضيح من احد الاعضاء





    __________________
    سبحان الله وبحمده ، سبحان الله العظيم

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    168


    موضوع جميل
    منذ أن بدأتي مشروعي الأول وأنا ابحث عن تطبيق فكرة الأرشفة
    آخر ماتوصلت إليه هو طريقة عرض المقالات لهذا الشهر فقط
    وبطريقة بدائية : اقوم باستعلامين
    الأول يعرض المقالات منذ هذا الوقت
    كود PHP:
    mktime(0,0,0,date('m'),1,date('Y')); 
    والاستعلام الثاني لنفس الوقت باختلاف اليوم
    كود PHP:
    mktime(0,0,0,date('m'),30,date('Y')); 
    وطبعا لدي مشكلة اختلاف عدد الأيام من شهر لآخر ..
    كما أني لا أعرف كيف أحفظ المقالات للشهور القديمة.





    __________________
    100 صقر !!
    يومياتي في تعلم php ..
    أرحب بالمبتدئين لنتعلم معا والمحترفين ليقدموا النصح والتوجيه .
    .
    .
    سبحان الله وبحمده عدد خلقه .. ورضا نفسه .. وزنة عرشه .. ومداد كلماته .

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


    دعونا بفكرة الأرشيف أولاً ..

    بالنسبة لفكرة الأرشيف، لنفرض أن وقت المقال يخزّن بطريقة Unix Timestamp ، في حقل باسم time مثلاً في الجدول table ..

    حتى نتمكن من جلب أرقام السنوات والأشهر التي يوجد بها مقالات ، سنبدأ باستعلام لجلبها :
    كود PHP:
    select month(from_unixtime(`time`)) as `month`, year(from_unixtime(`time`)) as `yearfrom `tablegroup by `month`, `yearorder by `yeardesc, `monthdesc 
    نتيجة الاستعلام ستكون عبارة عن السنة والشهر في كل مرة ، من الأحدث إلى الأقدم ، سنعرضها للزائر أولاً ، وعندما يضغط على واحدة منها ، سينتقل إلى الداخل والصفحة الداخلية هي التي ستطلب المقالات المتوافرة ضمن هذا الشهر .. هذا طرف الخيط ، سنتابع إن شاء الله معاً في حال أردتم ذلك ..

    هناك طريقة أخرى ، وهي فهرسة المقالات وتنظيم الأرشيف في جدول مستقل ، أعتقد أنها أفضل لموقع يحوي الكثير من المقالات ، ويزوره الكثير من الزوار يومياً ..

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





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

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


    وصلت إلى مرحلة متقدمة أو شبه متقدمة في إيجاد حل برمجي للفكرتين ( التصنيفات ، الوسوم ) ،الحل يعتمد على وجود جدول مستقل يقوم بالربط بين التصنيفات أو الوسوم بالمواضيع المندرجة تحته .

    لنفرض أن إسم الجدول r ، فإنه تركيبه سكون :
    id : رقم العلاقة ( الرابطة )
    post : رقم الموضوع ( المقال ، الخبر ، التدوينة ، ... )
    item : رقم العنصر المرتبط به

    بالنسبة لرقم الموضوع فانه يدل على رقمه في جدول المواضيع ، اما رقم العنصر فانه يدل على رقمه في جدول العناصر .

    في البداية قمت بوضع جدول مستقل للتصنيفات وجدول مستقل آخر للوسوم ، لكن بما ان تركيب الجدولين متشابه او بالاحرى متساوي فقمت بدمجهما في جدول واحد باسم items ، تركيب الجدول سيكون :
    id : رقم العنصر
    name : إسم العنصر
    type : نوع العنصر ، واما يكون تصنيفاً أو يكون وسماً ، وهو ذو قيمة رقمية ( 1 : قسم ، 2 : وسم ) ، طبعاً الحقل من النوع enum .

    الان نأتي إلى كيفية الربط ، العملية في تعقيد نوعاً ما ، خصوصاً أنه لا توجد لدي خبرة في استعلامات الدمج join ، واعتقد انه لو كانت لدي معرفة بسيطه به لكانت المسألة أسهل .

    نعود لطريقة الربط .. عند إضافة موضوع جديد فإننا سنقوم بتحديد أرقام التصنيفات التي يتم تصنيف الموضوع تحتها بالطريقة :
    كود PHP:
    $categorys = array(135); 
    طبعاً سيكون علينا إضافة الموضوع أولا ومن ثم إستخراج الـ id الخاص به عن طريق الدالة mysql_insert_id() ومن ثم نقوم بإستخدام الدالة foreach لاضافة ارقام التصنيفات و الموضوع المرتبطه به .
    كود PHP:
    $post_id 5;
    $categorys = array(135);
    foreach (
    $categorys as $category_id) {
        
    mysql_query("insert into r ( post, item ) values ( $post_id$category_id )");

    طبعاً سكون علينا أن تأكد من عدم تكرار التصنيفات في المصفوفة والا سيتم تصنيف الموضوع تحت نفس التصنيف اكثر من مرة ، سنستخدم الـ check boxes لذلك .
    كود PHP:
    <input type="checkbox" name="categorys[]" value="1" />
    <
    input type="checkbox" name="categorys[]" value="3" />
    <
    input type="checkbox" name="categorys[]" value="5" /> 
    بالنسبة للـ tags فالمسألة أكثر تعقيدأً لأنها تدخل على الشكل :
    كود:
    swalif, php, developer
    سألخص الطريقة على شكل نقاط :

    - نقوم بفصل الـ tags بواسطة الدالة explode وبدلالة الفاصلة ( سنقوم بتحويل الفاصلة العربية أو " ، " إلى فاصلة " , " حتى يتم توحيد الفواصل ) .
    - نرى ان كان الوسم موجوداً من قبل ، اذا كان موجوداً نستخرج الـ id الخاص به ، اما اذا لم يكن موجوداً فاننا نضيفه ونستخرج الـ id الخاص به .
    - نتأكد من أن الوسم غير مربوط بهذه التدوينة من قبل لمنع تكرار الوسوم لنفس التدوينة ( هنا توجد مشكلة ، الآن سنقوم بالاستعلام عن رقم الـ item وهو من الممكن ان يكون وسماً أو تصنيفاً ، ونحن نريده أن يكون وسماً ) .
    - نربط الوسم بالتدوينة .
    كود PHP:
    insert into r postitem values $post_id$tag_id ); 
    لازلنا في بداية هذه المسألة ، نحن هنا في طريقة الربط والاضافة فقط ، بقي لدينا الاستعلام والحذف والتعديل ، مثلاً لو أردنا أن نستعلم عن tag معين كيف سيكون الاستعلام ؟ ونفس الشيء بالنسبة للـ category ، عند حذف تصنيف كيف سيتم تحديث جدول الـ posts لجعل المواضيع التي كانت منصفة تحت التصنيف الذي تم حذفه بدون تصنيف ؟ اي تحمل القيمة صفر .

    عموماً المسألة لسيت بالبسيطة ، سأضع لكم في المرفقات التطبيق الذي قمت بعمله وهو ليس بمكتمل لكن لتروه وتعطونا ملاحظاتكم وافكاركم .

    أخي العزيز أشرف : لو تكرمت بالتفصيل في فكرة الأرشفة ، وأقصد بالتفصيل : التركيب العام للقاعدة ، نماذج من الاستعلامات .. ، شكراً لك .






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


    التطبيق في المرفقات ..





    الملفات المرفقة الملفات المرفقة
    • نوع الملف: zip r.zip‏ (4.2 كيلوبايت, 53 مشاهدات)

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


    شكرا لكم اخواني على هذا التوضيح





    __________________
    سبحان الله وبحمده ، سبحان الله العظيم

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


    هل توجد لديكم حلول أو أفكار أخرى ؟






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


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

    نستخرج الـ id الخاص بالـ tag أو الـ category ، ولنفترض أن ما نريده هو التصنيفات الموسومة بـ php
    كود PHP:
    $tag_name 'php';
    $result mysql_query("select id from items where name = '$tag_name' and type = '2'");
    $row mysql_fetch_array($result);
    $tag_id $row['id']; 
    نستخرج التدوينات المربوطة بهذا الوسم
    كود PHP:
    $result1 mysql_query("select post from r where item = '$tag_id'");
    while (
    $row1 mysql_fetch_array($result1)) {
    $in[] = $row['post'];
    }
    $in implode(', '$in);
    $result2 mysql_query("select id, topic, from posts where id in ($in)");
    while (
    $row2 mysql_fetch_array($result2)) {
    $post_id $row2['id'];
    $post_topic $row2['topic'];
    echo 
    "<div id=\"post-$post_id\">$post_topic</div>";







    التعديل الأخير تم بواسطة dev11 ; 10-06-2008 الساعة 10:37 AM

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


    أستاذ أشرف .. هل تفضلت وأكملت شرحك لطريقة الأرشفة ؟






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


    الـ wiki : عند تحديث مقال ما فإننا لا نقوم بالتحديث على نفس السجل في قاعدة البيانات ، بل نقوم بإضافة سجل جديد يرتبط بالمقال المحدّث عن طريق حقل إضافي ، old_post_id مثلاً ، إذا كانت القيمة 0 فهو مقال جديد أما إن كان مندرجاً تحت مقال آخر فإننا نستدعي آخر مقال تم تحديثه . هل الفكرة واضحة ؟






  12. #12
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    294


    الفكرة واضحة شكرا لك

    اعتقد سبب ذلك ان نحتفظ بالنسخه القديمة من المقالة ، وذلك للحمايه من التخريب وما الى ذلك .





    __________________
    سبحان الله وبحمده ، سبحان الله العظيم

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


    أردت أن أبقيكم على إطلاع ، هناك تحديثات عديدة وخاصة في الـ javascript ، أيضاً هناك ملفين لعرض الـ tags والـ categorys ، لايزالان بحاجة الى تحديث ، سأقوم بذلك لاحقاً .





    الملفات المرفقة الملفات المرفقة
    • نوع الملف: zip r1.zip‏ (29.8 كيلوبايت, 50 مشاهدات)

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


    بالمناسبة التطبيق يوجد به محتوى جاهز كمثال مصدره الموقع الرائع GadgetsArabia






  15. #15


    اخوى dev11 الله يوفقك يارب اذا ممكن تساعدنى في انشاء نظام tags على سكربت onarcade
    الله يخليك لانى صراحه مو خبره في مجال ال php او حتى بمقابل مادى و جزاك الله كل خير اذا ممكن تضيفني

    pc8@live.com





    __________________
    ( اللهم إنك عفوٌ كريمٌ تحب العفو فاعف عني )
    php Developer
    Short - Unshort Url | Moslsly.com





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

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

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