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

الموضوع: ما هي الفكرة في عملية إنشاء الأقسام ببرامج المقالات ؟

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697

    ما هي الفكرة في عملية إنشاء الأقسام ببرامج المقالات ؟



    السلام عليكم

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

    لكن أود معرفة ما الفكرة أو التعديل الذي ينبغي لجعل البرنامج يدعم الأقسام ؟

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

    لعل و عسى





    رضا غير متواجد حالياً


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


    أتوقع أن البرنامج الذي تستخدمه فيه جدول واحد هو جدول المقالات
    وأنك تستخدم php مع قواعد بيانات mysql، وسأبني إجابتي على
    توقعي هذا


    يجب أن تنشأ جدول آخر، وسمه مثلاً: section
    وفيه:
    ID رقم مميز وغير متكرر
    name إسم القسم

    وفي جدول المقالات يجب أن تضيف فيه مكاناً لتضع فيه اسم القسم الذي توجد فيه المقالة مثلاً:
    section

    والآن كل مقالة لا بد لها أن تكون في قسم معين، كيف تعرض مقالات قسم واحد فقط؟ هناك استعلام تستطيع تنفيذه من خلال php بحيث تختار فقط المقالات التابعة لقسم معين، حقيقة لا أعرف كيف أكتب لك هذا الاستعلام ربما يستطيع كتابته شخص آخر أكثر خبرة مني

    هذه طريقة، وهناك حلول أخرى





    سردال غير متواجد حالياً

  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    998


    أولا : أنشأ جدولا للأقسام اسمه مثلا

    Cat

    حدد فيه ثلاثة حقول

    1 - Cat_id

    وقيمته INT auto

    2 - Cat_name

    وقيمته VCHAR 255

    3 - Cat_num

    وقيمته INT


    الحقل الأول هو رقم القسم، وهو رقم تسلسلي تلقائي

    والحقل الثاني هو اسم القسم

    والحقل الثالث هو عدد المقالات في هذا القسم



    ننتقل إلى جدول المقالات

    أضف إلى الحقول حقلا واحدا بعد حقل الرقم التعريفي ID

    Cat_id

    وقيمته INT

    عند إضافة مقالة عليك أن تضع خانة للأقسام


    لطلب الأقسام المتوفرة في القاعدة استخدم ما يلي

    كود PHP:
    echo "        حدد القسم :";
            echo 
    "<select name=\"Cat_id\">";
                     
    $query="
    SELECT Cat_id, Cat_name
    FROM    Cat
    ORDER BY Cat_id
    "
    ;
    $result mysql_query($query);

    while (list (
    $Cat_id$Cat_name) =mysql_fetch_array($result))  {
                                echo 
    "<option value=\"$Cat_id\">$Cat_name </option>";
                            } 
                             echo 
    "</select><br> 
    ستظهر لك قائمة منسدلة ، عند اختيار أي قسم ساكون القيمة هي
    $Cat_id


    فإذا أضفت المقالة عليك أن تضيف قيمة القسم

    كود PHP:

     INSERT INTO atrical
         
    (Cat_id   )
        
    VALUES ('$Cat_id'
    مع تغيير ما يلزم


    ثم عند طلب مقالة من قسم يكون الأمر هكذا

    كود PHP:

    SELECT name
    ,text
    from atrical
    WHERE ID 
    $ID
    AND Cat_id $Cat_id 

    حيث ID رقم المقالة

    Cat_id رقم القسم

    آمل أن يكون الشرح واضحا





    __________________
    لا تعاند من إذا قال فعل
    الشنكبوتية
    اللغة العربية سياج هويتنا
    عبد الرحمن غير متواجد حالياً

  4. #4
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    جزاكم الله خير و بارك الله فيكم
    مع أني مبتدئ جداً في اللغة لكن سأحاول تطبيق ما ذكرتم
    الظاهر بأجيب العيد
    أكرر شكري لك عبدالرحمن





    رضا غير متواجد حالياً

  5. #5
    فضلاً اكتب اسمك الحقيقي هنا
    زائر


    جزاك الله خيراً عبدالرحمن .. شرح كافي .. و .. وافي ..






  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Jul 2002
    المشاركات
    534


    ردود الإخوان بالأعلى وافية وكافية

    لكن حبيت افيد للذين يستخدمون asp وقواعد أكسس

    فكل الأمر هو عمل علاقة بين جدول المقالات لو فرضنا اسمه id
    وجدول المواضيع لو فرضنا اسمه mo

    قم بعمل علاقة عن طريق الفهرس في جدول mo وبين حقل القيمة المأخوذه من جدول mo في جدول id

    ستجد أكسس كون علاقة بين الجدولين وهذا هو الجزء الأهم من الموضوع بقي الكود البرمجي وهو التالي:

    كود PHP:
    <%
    id=request.querystring("id")
    Topic=request.querystring("Topic")    
        
    '=====================
    SQL="select * from id where id="&id and Topic ="&Topic 
     set rs=CreateObject("ADODB.recordset")
     rs.open sql, cn, 3 , 3
    %> 
    وستلاحظ أن الكواد متشابه بين لغة asp و php

    المسألة تحتاج دراية كبيرة بالتعامل مع قواعد البيانت ..





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...
    asp2asp غير متواجد حالياً

  7. #7
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


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

    معليش واحد يبغى يحاول يفهم





    رضا غير متواجد حالياً

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


    بالنسبة لإضافة الأقسام فهي عملية بسيطة مجرد تعبئة الحقول التابعة لجدول الموضوعات (طبعاً كلامي حول asp)..

    وطبعاً لو فرضنا أن جدول الموضوعات mo يحتوي على 3 حقول:
    • حقل id الفهرس وحقل الربط
    • حقل mo وهو اسم القسم
    • حقل pic صورة القسم


    فإننا عندما نريد اضافة معلومات إلى الجدول عن طريق فورم..


    فهذا الكود هو كود صفحة الإرسال:
    كود PHP:
    <% 
    sql="Select * from mo " 
    set rs=CreateObject("ADODB.recordset"
    rs.open sqlcn3
    rs
    .moveFirst 
    while not rs.EOF 

    rs
    .addnew
    StrT1
    =request("T1"
    StrT2=request("T2"

    rs("mo")=StrT1
    rs
    ("pic")=StrT2 

    rs
    .Update 

    rs
    .moveNext 
    wend 

    %> 
    طبعاً بقي عليك انشاء صفحة الفورم التي ترسل النتائج للكود السابق

    واي استفسار انا حاضر





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...
    asp2asp غير متواجد حالياً

  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    998


    لإضافة قسم عليك أن تنشئ نموذج إدخال للأقسام

    أولا :

    نفترض أن اسم الملف admin.php

    ضع رابطا لإضافة القسم، مثل
    كود PHP:
    echo "
    <p align='right'><a href='
    $PHP_SELF?action=addcat'>إضافة قسم</a>

    الأمر السابق يطبع جملة (إضافة قسم) ذات رابط.

    الرابط يبدأ بـ $PHP_SELF وفائدة هذا الأمر أنه يأخذ اسم الملف نفسه

    فلو غيرت اسم الملف فلن يتأثر الملف.

    لكن لو كان اسم الملف test.php فإن الرابط سيكون

    test.php?action=addcat

    فلو غيرت اسم الملف إلى admin.php فإن الرابط لن يتغير. وعليك تغيير اسم الملف في الرابط

    أنا أحبذ استخدام $PHP_SELF رغم أنك تجد كثيرا من البرامج لا تستخدمه؛ لأنه لا يريدون أن تغير اسمه الملف كي يعرف أن هذا البرنامج لهم.

    فائدة هذا الأمر تظهر جلية إذا أردت تحويل برنامج ليتوافق مع برامج المجلة modules

    فإنه يريحك كثيرا. وليس هذا مكان شرحه.

    في ملف admin.php

    ننظر إلى إضافة القسم مطلوبة؟

    كود PHP:
    if ($_GET['action']=="addcat") {


    هذا الأمر يحدد إذا كان المطلوب إضافة قسم فإنه ينفذ الأوامر تحته.

    تلحظ أنني استخدمت الدالة $_GET وهي تحديث للدالة القديمة $HTTP_VAR_GET

    وهي أفضل من حيث الحماية. بحيث لا يقبل الأوامر من خارج المتصفح.

    واستخدمت GET لأن الأمر عن طريق رابط، وليس عن طريق أنموذج. ففي الروابط تستخدم GET وفي الأنموذج يمكنك استخدام POST أو GET على حسب الحال.

    تلحظ كلمة (action) وهي المتغير فالبرنامج ينظر إذا كان action ...

    ثم (==) وهذه تعاني المطابقة. تنبه إلى أن يجب عليك أن تضاعف العلامة

    ثم تأتي جملة المطابقة (addcat)

    فإذا توفرت ثلاثة شروط :

    1 - كون الطريقة بواسطة GET

    2 -المتغير هو action

    3 - كلمة المطابقة للمتغير addcat

    فإنه ينفذ الأمر السابق.

    يمكنك أيضا عمل الطريقة السابقة هكذا
    كود PHP:
    if ($action=="addcat") {


    ففي هذا الأمر يستوي كون الطريقة POST أو GET .

    ما دام المتغير action يطابق addcat فافعل كذا

    انتهت الفقرة الأولى

    ننتقل إلى الفقرة الثانية، وهي إنشاء أنموذج إضافة قسم ويكون بلغة HTML
    كود PHP:
    echo "
    <center>
    إضافة قسم
    <br>
    <form  name='addcat' method='post' action='
    $PHP_SELF?action=doaddcat'>
    أدخل اسم القسم <br>
    <input type='text' name='new_cat' size='20'>
     <input type='submit' name='Submit' value='أرسل'>
    </form>
    "

    هنا طبعنا الأنموذج وهو كتالي :

    1 - توسيط النص (إضافة قسم) عن طريق <center>

    2 - إضافة سطر جديد عن طريق <br>

    3 - تحديد نوع الأنموذج :
    أ- اسمه name='addcat' وهذا ليس بلازم. لكنه يفيد المبرمج في معرفة الأنموذج، وتحتاج إليه أحيانا في برمجيات java للتأكد من كتابة الحقول.

    ب- الطريقة التي سينفذ بها الأنموذج method='post' . فطريقة POST تعني عدم إظهار المتغيرات في شريط المتصفح. بل تكون مخفية. وتظهر هذه الفائدة في كلمات المرور والنصوص والأمور التي لا تؤثر في تحديد خصائص العرض.
    أما GET فإنه يظهر المتغيرات في شريط الأدوات.

    فمثلا لو اخترنا POST ثم نفذنا الأنموذج فسيكون شريط المتصفح هكذا : admin.php

    ولو اخترنا GET سيكون الشريط هكذا : admin.php?new_cat=new_cat
    حيث الثانية new_cat الاسم المدخل وهو متغير.

    ج- action='$PHP_SELF' هنا نحدد الملف الذي سيقوم بتنفيذ الأنموذج. حيث يمكنك وضع الأنموذج في ملف والتنفيذ في ملف آخر.

    ثم حدننا المتغير action=doaddcat كي نستفيد منه في تحديد الأمر.

    هنا اخترنا الملف نفسه.

    4- ثم طبعنا جملة (أدخل اسم القسم)

    5 - ثم بعدها أضفنا سطرا جديدا <br>

    6 - ثم حددنا خانة الإدخال لاسم القسم
    كود PHP:
    <input type='text' name='new_cat' size='20'
    أ - input تعني حقل إدخال.

    ب- type تحديد نوعية الحقل، وهنا حددناه بأنه نص. ويمكنك وضع password حيث تظهر الحروف على شكل نجمات ***، ويمكنك وضع ملف لاختيار ملف من الجهاز.
    هنا حددنا text لأننا نريد نصا (اسم القسم)

    ج- ثم حددنا اسم الحقل name بـ new_cat

    د- ثم حددنا حجم الحقل وهو عشرون خانة size='20'


    6 - ثم أضفنا أمر إرسال الأنموذج
    كود PHP:
     <input type='submit' name='Submit' value='أرسل'
    7 - ثم أغلقنا الأنموذج

    </form>

    ثم علينا أن نغلق الشرط بحيث لا ينتقل إلى البرمجة التالية عن طريق exit ();

    فتكون برمجة الشرط كاملة :
    كود PHP:
    if ($_GET['action']=="addcat") {
    echo 
    "
    <center>
    إضافة قسم
    <br>
    <form  name='addcat' method='post' action='
    $PHP_SELF?action=doaddcat'>
    أدخل اسم القسم <br>
    <input type='text' name='new_cat' size='20'>
     <input type='submit' name='Submit' value='أرسل'>
    </form>
    "
    ;

    exit ();

    الخطوة الثانية :

    تنفيذ الأمر

    ننظر هل تحقق الشرط ؟

    كود PHP:
    if ($_POST['action']=="doaddcat") {



    في حقل الأنموذج حددنا الشرط بـ $PHP_SELF?action=doaddcat

    وهنا نتحقق من هذا الشرط.

    بعد أن تحققنا من اجتماع الشروط

    ننظر في المتغيرات

    نحدد الاحتمالات.

    1 - هنا احتمال أنك ضغط على (أرسل) والخانة فارغة. فلا نريد ملء الخانة بفراغ

    كما سبق اسم المتغير هو $new_cat
    كود PHP:
    if (empty($new_cat)) {
    echo 
    "لم تدخل اسما!! ارجع وأدخل الاسم";

    exit ();

    في الأمر السابق علينا أن نتأكد هل المتغير $new_cat يحمل قيمة أو لا؟

    فإن كان فارغا فإنه يطبع جملة تنبيهية، ثم يقفل البرمجة لئلا ينتقل إلى ما بعدها.

    يمكن تنفيذ هذه الطريقة بصورة أخرى

    كود PHP:
    if (!$new_cat) {


    حيث إن علامة التعجب تعني فراغ القيمة، وبدون علامة تعني أن القيمة تساوي (1) يعني ممتلئة.

    ويمكن تنفيذها بطريقة ثالثة :

    كود PHP:
    If ($new_cat=="") {


    حيث ينظر البرنامج هل المتغير $new_cat يساوي فراغا؟

    نرجع إلى الدرس.

    بعد أن نتأكد من أن القيمة ممتلئة.

    علينا أن نتأكد من أن الاسم ليس موجودا من قبل كي لا تتكرر عندنا أسماء الأقسام
    كود PHP:
    $query "SELECT Cat_name
    * FROM Cat
    WHERE Cat_name='
    $new_cat'
    "
    ;
    $result mysql_query ($query); 
    هنا نطلب من قاعدة البيانات أن تعرض لنا من جدول الأقسام Cat القسم الجديد، ثم إعلامنا بالنتيجة.

    فإذا كانت النتيجة صحيحة، فهذا يعني أن القسم متوفر، فنطبع رسالة تنبيه.
    كود PHP:
    if ($result) {

    echo 
    "هذا الاسم مدخل من قبل!";
    exit ();


    إذا كانت النتيجة صحيحة، يظهر التنبيه، ثم نقفل البرمجة كي لا يتم تنفيذ الأوامر التالية.

    إن لم يكن القسم مدخلا فإننا ندخله في قاعدة البيانات
    كود PHP:
    $add_cat="
    INSERT INTO Cat
    (Cat_name)
    VALUES     ('
    $new_cat')
    "

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

    ثم ننفذ الأمر السابق
    كود PHP:
    $result=mysql_query ($add_cat); 
    إذا تمت العملية بنجاح، فإننا نطبع رسالة

    كود PHP:

    if ($result) {
    echo 
    "تمت إضافة القسم";

    } else {
    echo 
    "حصل خلل في إضافة القسم";
    echo 
    mysql_error;
    }
    exit (); 
    انتهى

    نعيد ترتيب البرنامج

    كود PHP:
    // هل نريد إضافة قسم؟
    if ($_POST['action']=="doaddcat") {
        
    // نتأكد من أن المتغير غير فارغ
        
    if (empty($new_cat)) {
            
    // نطبع رسالة تنبيه
            
    echo "لم تدخل اسما!! ارجع وأدخل الاسم";
            
    // نقفل البرمجة
            
    exit ();
                } 
    // إغلاق شرط التأكد من امتلاء المتغير
        // نتأكد هل الاسم مدخل من قبل؟
        
    $query "SELECT Cat_name
            * FROM Cat
            WHERE Cat_name='
    $new_cat'
            "
    ;
        
    $result mysql_query ($query);
        
    // إذا كان الاسم مدخلا طبعنا رسالة تنبيه
        
    if ($result) {
            
    // نطبع الرسالة
            
    echo "هذا الاسم مدخل من قبل!";
            
    // نقفل البرمجة
            
    exit ();
            } 
    // إغلاق شرط التأكد من وجود الاسم

        // نضيف الاسم إلى قاعدة البيانات
        
    $add_cat="
        INSERT INTO Cat
        (Cat_name)
        VALUES     ('
    $new_cat')
            "
    ;
        
    // نطبع النتيجة
            
    if ($result) {
            echo 
    "تمت إضافة القسم";
            } else {
            echo 
    "حصل خلل في إضافة القسم";
            echo 
    mysql_error;
            } 
    // إغلاق شرط النتيجة
    // نقفل البرمجة
    exit ();
    }
    // إغلاق شرط إضافة البرنامج 






    __________________
    لا تعاند من إذا قال فعل
    الشنكبوتية
    اللغة العربية سياج هويتنا
    عبد الرحمن غير متواجد حالياً

  10. #10
    فضلاً اكتب اسمك الحقيقي هنا
    زائر


    تعجز الكلمات عن شكرك أخي عبدالرحمن .. فجزاك الله خيراً ..






  11. #11
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


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





    رضا غير متواجد حالياً

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


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

    شرحي لا يأتي 10 % من شرحك

    تسلم ياخوي ومنك نستفيد





    __________________
    بداية للمشاريع التجارية

    ASP.NET,ASP 3.0

    المدونة الشخصية : asp2asp.com

    عدنا والعود أحمد...
    asp2asp غير متواجد حالياً

  13. #13
    عضو سوبر نشيط
    تاريخ التسجيل
    Dec 2000
    المشاركات
    998


    الأخ المراقب العام:

    وإياك...

    أنا هنا من أجل المساعدة، وإني لأعجب ممن يضن بالمعلومة على إخوانه!

    الأخ رضا

    أنتظر مشروعك

    الأخ asp2asp

    هذه ثمرة التدريس - أبعده الله عنك =





    __________________
    لا تعاند من إذا قال فعل
    الشنكبوتية
    اللغة العربية سياج هويتنا
    عبد الرحمن غير متواجد حالياً

  14. #14
    Banned
    تاريخ التسجيل
    Nov 2000
    المشاركات
    977


    ماشاء الله تبارك الله ،،
    والله الناس بدأت تفتح ،، ،، الله يرحم النايمين
    الاخ عبدالرحمن اذا في امكانية ،، ارجو اضافتي للمنسجر ،، اذا كان عندك مسنجر





    u1901 غير متواجد حالياً

  15. #15
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    إذا الشغلة فيها مسنجر لا تنسانا يا عبدالرحمن
    أضفني عندك reda1@flashmail.com





    رضا غير متواجد حالياً





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

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

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