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

الموضوع: مسار الطريق

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

    مسار الطريق



    السلام عليكم

    سبق و ان سألت السؤال التالي

    كيف اعمل مسار الطريق على شكل رابط ؟

    مثال

    الرئيسية -> الاخلاق -> الصبر

    بحيث تكون الرئيسية + الاخلاق على شكل روابط ، و اكون انا واقف على صفحة الصبر ؟؟؟

    اجابني احد الاخوة بالجواب التالي

    أما الطلب الثاني بحلقة تكرار تستدعي القسم اللي ال id ماله هو ال parent_id الحالي، حتى تصل إلى قسم ال parent_id ماله صفر

    و لكن للأسف بسبب قلة الخبر لم افهمه جيدا ...

    هل يستطيع احد ان يفسر لي ذلك بكود صغير ؟؟

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







  2. #2
    عضو فعال
    تاريخ التسجيل
    Aug 2007
    المشاركات
    1,431


    السلام عليكم
    كود PHP:
    include("config.php");
     
    // Get Subject ID
    $id intval($_GET['id']);
    // الإستعلام عن الموضوع
    $Query mysql_query("SELECT * FROM `subjects` WHERE `id`='$id'");
    $rows mysql_fetch_array($Query);
    $subject $rows['subject'];
     
    //نقوم بوضع متغير يحمل قيمة id القسم
    $sec_id $rows['section_id'];
     
    //نستعلم عن القسم
    $query2 mysql)query("SELECT * FROM `sections` WHERE `id`='$sec_id'");
    $section mysql_fetch_array($query2);
     
    $section_name $section['name'];
     
    print 
    "أنت الآن في : الرئيسية => $section_name => $subject ";
     
    // أو
    print "انت الآن في 
    <a href='index.php'>الرئيسية</a> =>
    <a href=section.php?id='
    $sec_id'> $section_name</a> =>
    $subject
    "

    أتمنى اني قدرت اوضح لك : )






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


    نعم
    جزاك الله خيرا

    و لكن هناك استفسار بسيط

    عندما ادخل الى عمق اكثر يتغير مسار الطريق بطريقة لا اظنها صحيحة

    مثال:

    المسار المطلوب: الرئيسية ---- الاخلاق ---- الزهد و الرقائق ---- الصبر ---- صفحات من الصبر ---- سلمان الفارسي

    الآن عندما اكون في صفحة الصبر ، يظهر المسار : الرئيسية ---- الزهد و الرقائق---- الصبر ( لا تظهر الاخلاق)

    و اذا كنت في صفحة (صفحات من الصبر ) يظهر المسار : الرئيسية ---- الصبر ---- صفحات من الصبر (لا تظهر - الاخلاق ---- الزهد و الرقائق ----)

    و جزاك الله خيرا مجددا على المساعدة






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


    أعتقد أن لهذا الموضوع صلة بالغة:
    http://www.swalif.net/softs/swalif45/softs237337/

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

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





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

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


    جزاك الله خيرا اخ اشرف

    نعم الموضوع الاخر قريب جدا من سؤالي ، و لكنه يأتي بكل اقسام الموقع + يعرضها بشكل قائمة

    مسألة العرض غير مهمة ، استطيع تعديلها ... و لكن تبقى مسألة انه يأتي بكل الاقسام ، ليس فقط التي زرتها لتعرض في مسار الطريق

    جربت التعديل لكن لم افلح لقلة الخبرة

    و لكني اخذت بنصيحتك و سألت صاحب الموضوع ان كان بامكانه مساعدتي لتعديل كوده

    يبقى كود الاخ ff5006 اقرب لمطلوبي و لكن مع التعديل المراد الذي ذكرت

    شكرا جزيلا لك





    التعديل الأخير تم بواسطة الشريف ابو بكر ; 12-08-2008 الساعة 07:30 PM

  6. #6
    عضو فعال
    تاريخ التسجيل
    Aug 2007
    المشاركات
    1,431


    نعم
    جزاك الله خيرا

    و لكن هناك استفسار بسيط

    عندما ادخل الى عمق اكثر يتغير مسار الطريق بطريقة لا اظنها صحيحة

    مثال:

    المسار المطلوب: الرئيسية ---- الاخلاق ---- الزهد و الرقائق ---- الصبر ---- صفحات من الصبر ---- سلمان الفارسي

    الآن عندما اكون في صفحة الصبر ، يظهر المسار : الرئيسية ---- الزهد و الرقائق---- الصبر ( لا تظهر الاخلاق)

    و اذا كنت في صفحة (صفحات من الصبر ) يظهر المسار : الرئيسية ---- الصبر ---- صفحات من الصبر (لا تظهر - الاخلاق ---- الزهد و الرقائق ----)

    و جزاك الله خيرا مجددا على المساعدة
    وإياك اخوي ....
    بالنسبه للأولى "الرئيسية => الأخلاق => الزهد والرقائق => الصبر => صفحات من الصبر => سلمان الفارسي"
    يمكنك عملها بالكود الذي ذكرته لك في الأعلى مع تكرار استخراج رقم القسم والإستعلام عنه.
    أو يمكنك عملها بـ "
    سلمان الفارسي يقع تحت القسم "صفحات من الصبر" => صفحات من الصبر قسم فرعي من القسم الرئيسي الصبر => الصبر واحد من اقسام المجموعة الزهد والحقائق => الزهد والحقائق واحد من التصنيفات الرئيسية => وهكذا :nice:
    لكنها صعبه راح تحتاج انك تحط جدول للتصنيفات الرئيسية .,
    وجدول للمجموعات "مثل الزهد والحقائق"
    جدول قسم رئيسي "مثل الصبر"
    جدول للأقسام الفرعيه "مثل صفحات من الصبر"
    جدول للمواضيع مصل "سلمان الفارسي.


    يبي لها تفكير شوي لكن يمكن تلقى طريقة اسرع وأفضل :app:


    وشكراً.






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


    كود PHP:
    /*
    [sections_table]
    id
    parent_id
    name
    */


    $query mysql_query("SELECT * FROM subjects_table WHERE id='" $id "'");
    $subject mysql_fetch_array($query);
    $section_id $subject['section_id'];

    $navbar " => " $subject['name'];

    while(
    $section_id !== 0) {
        
        
    $query mysql_query("SELECT * FROM sections_table WHERE id = '" $section_id "'");
        
    $section mysql_fetch_array($query);
        
        
    $navbar " => " $section['name'] . $navbar;
        
        
    $section_id $section['parent_id'];
        
    }

    $navbar "الصفحة الرئيسية" $navbar
    ما جربته لكن اعتقد الكود بينفع





    __________________
    Google
    Firefox

  8. #8
    عضو جديد
    تاريخ التسجيل
    Apr 2010
    المشاركات
    7


    بسم الله الرحمن الرحيم

    الموضوع شكله قديم ... ولكنه مطلوب بكثرة

    رغم ان الكود يعرفه الجميع .. لكن لا يعرفون تطبيقه بالشكل الصحيح .

    ولهذا اقدم لكم حل مبسط جدا جدا بإذن الله ...

    سوف اقوم بشرح اظهار مسار القسم في صفحة عرض القسم
    و كذلك اظهار مسار الموضوع في صفحة عرض الموضوع

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

    نبدأ بسم الله


    اولا اظهار مسار القسم الذي نقف عنده .
    مع ابقاء اخر شي منه بدون رابط .. يعني القسم الذي نقف عليه يبقى بدون رابط .



    كود PHP:
    <?
    include('config.php');


    // التغيير في 3 اشياء فقط
    // اسم جدول الاقسام  story_cat مثلا
    // الحقل الذي فيه اسم الجدول الترقيمي حق القسم (وليس الاي دي) .. انتبه لذلك جيدا sub و كذلك مثلا
    // الحقل الذي فيه تسمية للقسم name و كذلك مثلا
    //
    //هذا كل شيء 
    // ما عليك سوى التبديل في هذه الاشياء الثلاثة فقط
    //


    // ====================================================== بداية اظهار مسار القسم =====================================================
    echo "<br>";
    echo 
    "<table border='0' id='table1' cellspacing='0' cellpadding='0' bgcolor='#FFF8EC' width='90%' dir='rtl'>
        <tr>
            <td>

    </td><td width='978'>"
    ;


    $id intval($_GET["id"]);
        function 
    Gpath($id$pathArray = array()){ 
        if(
    $id == "0"){ 
         echo 
    "<div>&nbsp;</div> <img border='0' src='images/A.gif' width='15' height='15'>&nbsp;
                <a href='index.php'>الرئيسية</a>"
    ;
        }else if(
    $id !== "0"){  
        
    $sql mysql_query("select * from اسم جدول الاقسام where id=$id");  
         
       if(
    mysql_num_rows($sql) == 1) {  
       
    $row mysql_fetch_assoc($sql);  
      
    array_unshift($pathArray$row);  
       return 
    Gpath($row['اسم الجدول الترقيمي حق القسم وليس الاي دي'], $pathArray);  
      }  
     }  
        
      return 
    $pathArray;  
     }  
    $path Gpath($id);
    foreach(
    $path as $item) {
             
             if(
    $item[id] == "$id"){
                
                echo 
    "<table border='0' id='table2' cellspacing='0' cellpadding='0'>
            <tr>
            <td>
                <div align='center'><img border='0' src='images/B.gif' width='30' height='15'>&nbsp;</td>
                <td><div align='center'>
    $item[الحقل الذي فيه تسمية للقسم]</td>
                </tr>
        </table>"
    ;


                 }else {
    echo 
    " <b><font color='#008000'>&raquo;&raquo;</font></b> <a href='section.php?id=$item[id]'>$item[الجدول الذي فيه تسمية للقسم]</a>";
    // و يجب هنا الانتباه  .. و مراعات الرابط لملف عرض الاقسام .. يعني ممكن اسمه عندك ( شو بي اتش بي ) .. او غيره من تسميه .. غير الرابط في الاعلى على حسب تسمية ملفك 
    //  يعني الرابط فوق  كذا section.php?id=$item[id]
    // انتبه فقط ل section.php            
     
     
    }
    }        
            
    echo 
    "<div>&nbsp;</div> </td>
        </tr>
    </table>"
    ;
    // ===========================================  نهاية اظهار مسار القسم =========================================================
    ?>
    و هذا تطبيق على كلامي في الاعلى



    كود PHP:
    <?
    include('config.php');

    // ====================================================== بداية اظهار مسار القسم =====================================================
    echo "<br>";
    echo 
    "<table border='0' id='table1' cellspacing='0' cellpadding='0' bgcolor='#FFF8EC' width='90%' dir='rtl'>
        <tr>
            <td>

    </td><td width='978'>"
    ;


    $id intval($_GET["id"]);
        function 
    Gpath($id$pathArray = array()){ 
        if(
    $id == "0"){ 
         echo 
    "<div>&nbsp;</div> <img border='0' src='images/A.gif' width='15' height='15'>&nbsp;
                <a href='index.php'>الرئيسية</a>"
    ;
        }else if(
    $id !== "0"){  
        
    $sql mysql_query("select * from story_cat where id=$id");  
         
       if(
    mysql_num_rows($sql) == 1) {  
       
    $row mysql_fetch_assoc($sql);  
      
    array_unshift($pathArray$row);  
       return 
    Gpath($row['sub'], $pathArray);  
      }  
     }  
        
      return 
    $pathArray;  
     }  
    $path Gpath($id);
    foreach(
    $path as $item) {
             
             if(
    $item[id] == "$id"){
                
                echo 
    "<table border='0' id='table2' cellspacing='0' cellpadding='0'>
            <tr>
            <td>
                <div align='center'><img border='0' src='images/B.gif' width='30' height='15'>&nbsp;</td>
                <td><div align='center'>
    $item[name]</td>
                </tr>
        </table>"
    ;


                 }else {
    echo 
    " <b><font color='#008000'>&raquo;&raquo;</font></b> <a href='section.php?id=$item[id]'>$item[name]</a>";
                 }
    }        
            
    echo 
    "<div>&nbsp;</div> </td>
        </tr>
    </table>"
    ;
    // ===========================================  نهاية اظهار مسار القسم =========================================================
    ?>
    اظن الشرح واضح جدا بإذن الله




    ثانياَ : -


    اظهار مسار الموضوع الذي نقف عنده .
    مع ابقاء اخر شي منه بدون رابط .. يعني الموضوع الذي نقف عليه يبقى بدون رابط .




    كود PHP:
    <?
    include('config.php');

    // نفس الكلام في الملف السابق تقريبا
    // في البداية لا تنسى تجلب الكونفيق
    // و تحت الهيدر تضع الكود مع اجراء التغييرات اللازمة
    //نبدأ بسم الله 
    //
    //
    //اسم جدول المواضيع story مثلا
    //الحقل الذي فيه اسم المواضيع name و كذلك مثلا
    //هو اسم الحقل الذي فيه رقم القسم و طبعا هذا الحقل موجود في جدول المواضيع و هو الذي يربط الموضوع بقسمه في جدول الاقسام cat و كذلك مثلا
    //وهو اسم جدول الاقسام story_cat و كذلك مثلا
    //الحقل الذي فيه اسم الجدول الترقيمي حق القسم (وليس الاي دي) .. انتبه لذلك جيدا sub و كذلك مثلا
    //الحقل الذي فيه تسمية للقسم .. وهو موجود في جدول الاقسام name و كذلك مثلا
    //الحقل الذي فيه تسمية للموضوع .. وهو موجود في جدول المواضيع name و كذلك مثلا



    $id intval($_GET["id"]);
    $Sql mysql_query("select * from اسم جدول المواضيع where id=$id");
    $Row = @mysql_fetch_array($Sql);

    $Row[اسم حقل تسمية المواضيع] = stripslashes($Row[اسم حقل تسمية المواضيع]);
    // ملاحظة : - هنا في الاعلى على حسب تأمينك للمدخلات والمخرجات .. وانا فقط اعطيتك مثال .. يعني على حسب الدوال اللي وضعتها انت سابقا 

    // ====================================================== بداية اظهار مسار الموضوع =====================================================


    echo "<br>";
    echo 
    "<table border='0' id='table1' cellspacing='0' cellpadding='0' dir='rtl' bgcolor='#FFF8EC' width='90%'>
        <tr>
            <td>"

            
            
    // Get Subject ID
    $id intval($_GET['id']);
    // الإستعلام عن الموضوع
    $Query mysql_query("SELECT * FROM `اسم جدول المواضيع` WHERE `id`='$id'");
    $rows mysql_fetch_array($Query);
    $subject $rows['اسم حقل تسمية المواضيع'];

    $id4 $rows['اسم الحقل الذي فيه رقم القسم و طبعا هذا الحقل موجود في جدول المواضيع و هو الذي يربط الموضوع بقسمه في جدول الاقسام'];
        function 
    Gpath($id4$pathArray = array()){ 
        if(
    $id4 == "0"){ 
         echo 
    "<div>&nbsp;</div> <img border='0' src='images/A.gif' width='15' height='15'>&nbsp;
                <a href='index.php'>الرئيسية</a>"
    ;
        }else if(
    $id4 !== "0"){  
        
    $sql mysql_query("select * from اسم جدول الاقسام where id=$id4");  
         
       if(
    mysql_num_rows($sql) == 1) {  
       
    $row mysql_fetch_assoc($sql);  
      
    array_unshift($pathArray$row);  
       return 
    Gpath($row['اسم الحقل الترقيمي حق القسم وليس الاي دي وهذا موجود في جدول الاقسام'], $pathArray);  
      }  
     }  
        
      return 
    $pathArray;  
     }  
    $path Gpath($id4);
    foreach(
    $path as $item) {
             
    echo 
    " <b><font color='#008000'>&raquo;&raquo;</font></b> <a href='section.php?id=$item[id]'>$item[الحقل الذي فيه تسمية للقسم]</a>";            
    }        
    echo 
    "</td>
    </tr>
    <tr>
    <td>"
    ;        
    echo 
    "<img border='0' src='images/B.gif' width='30' height='15'>&nbsp;$Row[الحقل الذي فيه تسمية للموضوع]";                
    echo 
    "<div>&nbsp;</div> </td>
    </tr>
    </table>
    <br><br>
    "
    ;

    // ===========================================  نهاية اظهار مسار الموضوع =========================================================
    ?>
    و هذا تطبيق على كلامي في الاعلى



    كود PHP:
    <?
    include('config.php');

    $id intval($_GET["id"]);
    $Sql mysql_query("select * from story where id=$id");
    $Row = @mysql_fetch_array($Sql);

    $Row[name] = stripslashes($Row[name]);

    // ====================================================== بداية اظهار مسار الموضوع =====================================================


    echo "<br>";
    echo 
    "<table border='0' id='table1' cellspacing='0' cellpadding='0' dir='rtl' bgcolor='#FFF8EC' width='90%'>
        <tr>
            <td>"

            
            
    // Get Subject ID
    $id intval($_GET['id']);
    // الإستعلام عن الموضوع
    $Query mysql_query("SELECT * FROM `story` WHERE `id`='$id'");
    $rows mysql_fetch_array($Query);
    $subject $rows['name'];

    $id4 $rows['cat'];
        function 
    Gpath($id4$pathArray = array()){ 
        if(
    $id4 == "0"){ 
         echo 
    "<div>&nbsp;</div> <img border='0' src='images/A.gif' width='15' height='15'>&nbsp;
                <a href='index.php'>الرئيسية</a>"
    ;
        }else if(
    $id4 !== "0"){  
        
    $sql mysql_query("select * from story_cat where id=$id4");  
         
       if(
    mysql_num_rows($sql) == 1) {  
       
    $row mysql_fetch_assoc($sql);  
      
    array_unshift($pathArray$row);  
       return 
    Gpath($row['sub'], $pathArray);  
      }  
     }  
        
      return 
    $pathArray;  
     }  
    $path Gpath($id4);
    foreach(
    $path as $item) {
             
    echo 
    " <b><font color='#008000'>&raquo;&raquo;</font></b> <a href='section.php?id=$item[id]'>$item[name]</a>";            
    }        
    echo 
    "</td>
    </tr>
    <tr>
    <td>"
    ;        
    echo 
    "<img border='0' src='images/B.gif' width='30' height='15'>&nbsp;$Row[name]";                
    echo 
    "<div>&nbsp;</div> </td>
    </tr>
    </table>
    <br><br>
    "
    ;

    // ===========================================  نهاية اظهار مسار الموضوع =========================================================
    ?>
    هذا كل شيء

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

    بقي ان ارفق لكم رابط الصورتين الموجودتين في الناف بار

    وهي على لونين انت اختار اللي تعجبك منهم
    ويجب وضعها في مجلد الايميج داخل السكربت
    او اذا لم يكن موجود مجلد ايمج بإمكانك وضع الملف جاهز بالصور داخل السكربت

    هذا وان اصبت فمن الرحمن وان اخطأت فمن نفسي والشيطان

    المهم اني حاولت مساعدة اخواني بالذي استطيعه ..
    طالبا منكم الدعاء في ظهر الغيب

    واعتذر من الاخوان في الادارة ... لردي على موضوع قديم
    ولكنني رأيت الكثير ممن يسألني في هذا الخصوص

    استودعكم الله
    والسلام عليكم ورحمة الله وبركاته .








    الملفات المرفقة الملفات المرفقة

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    للمستخدمين المتقدمين والمواقع التي تستقبل عدد زوار كبير أنصح باستخدام الخوارزمية التالية (قد كنت قد وضعت كلاس PHP لتطبيقها منذ بضع سنوات):

    Celko Visitation Model

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





    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  10. #10


    قبل قليل عملت على فكرة مماثلة ، وحيث لدي أقسام و أقسام فرعية و فرع-فرعية ووو ....



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

    عموما الفكرة بسيطة و لا عدة طرق .





    الصور المرفقة الصور المرفقة  

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


    للمستخدمين المتقدمين والمواقع التي تستقبل عدد زوار كبير أنصح باستخدام الخوارزمية التالية (قد كنت قد وضعت كلاس PHP لتطبيقها منذ بضع سنوات):

    Celko Visitation Model

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



    الطريقة يعني تخزن المعلومات في قاعدة البيانات كشجرة؟

    ======


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





    التعديل الأخير تم بواسطة ahmad sadiq ; 13-02-2011 الساعة 08:37 PM





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

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

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