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

الموضوع: كيف يمكن عمل ترقيم للردود بالترتيب مثل المنتديات (أريد الفكرة فقط)

  1. #1

    Exclamation كيف يمكن عمل ترقيم للردود بالترتيب مثل المنتديات (أريد الفكرة فقط)



    السلام عليكم

    أنا حاليا أقوم بعمل سكربت وأريد أن أضيف خاصية ترقيم الردود أو التعليقات بشكل ألى مثل المنتديات تجد أول رد يأخذ الرقم 1 ثم اللى بعدة 2 ثم 3 وهذا وعند الذهاب إلى الصفحة الثانية لنفس الموضوع نجد أنة يكمل العد الذى بدئة من بداية الموضوع يعنى مثلا لو الصفحة الاولى أخر رد فيها رقمة 5 عندما نذهب إلى الصفحة الثانية الرد الاول نجدة 6 ثم 7 وهكذا مع العلم أنة إذا قمنا بحذف أى رد من هذة الردود يقوم بشكل ألى بتعديل الارقام بحيث أن تكون الارقام بشكل متتالى وليس 1 - 2 - 3 - 5 - 7

    أتمنى تكونو فهمتم قصدى .

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






    __________________
    لا إله إلا الله محمد رسول الله


  2. #2


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

    يمكنك استعماله ،، وهو بالسمارتي : {$smarty.section.SECTIONNAME.index}

    ^^^ التكرار بواسطة section ويمكنك زيادة ++1 عليها لتبدأ من 1 لأنها تبدأ من صفر العد

    اما في الـ php يمكنك عمل حلقة تكرار ايضا بزيادة الرقم كلما جاب نتيجة يكتب نتيجة حلقة التكرار

    تحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

  3. #3


    الموضوع بسيط جدا
    شوف عند اضافة اى رد او تعليق جديد تقوم بعمل ترتيب لك الردود على حسب اخر رد وتقوم انت بتعديل ترتيب الارقام
    1
    2
    3
    4
    وهكذا
    يعنى ببساطة اكثر لابد من عمل حقل فى جدول التعليقات يحتوى على رقم 1 مثلا وعند اضافة تعليق جديد تعطي التعليق الجديد رقم واحد والتعليق القديم تقوم بتغيره من 1 الى 2 طبعا ده بيتم بشكل اتوماتيكى دون تدخل منك
    اخيك
    استاذ نت
    اذا فى اى استفسار ان حاضر باذن الله





    __________________
    لا اله الا انت سبحانك انى كنت من الظالمين
    admin@byscripts.com
    www.byscripts.com

  4. #4


    الموضوع بسيط جدا
    شوف عند اضافة اى رد او تعليق جديد تقوم بعمل ترتيب لك الردود على حسب اخر رد وتقوم انت بتعديل ترتيب الارقام
    1
    2
    3
    4
    وهكذا
    يعنى ببساطة اكثر لابد من عمل حقل فى جدول التعليقات يحتوى على رقم 1 مثلا وعند اضافة تعليق جديد تعطي التعليق الجديد رقم واحد والتعليق القديم تقوم بتغيره من 1 الى 2 طبعا ده بيتم بشكل اتوماتيكى دون تدخل منك
    اخيك
    استاذ نت
    اذا فى اى استفسار ان حاضر باذن الله
    يالغالي انه يعمل قصة حقل في قاعدة البيانات ويعدله فكرة برمجية فعلا لكن صراحة اراها معقدة

    لذلك نصيحة مني عمل حلقة تكرار بسيط ممكن عن طريق

    for($x=1 ; $x <= count($fetch_query) ; $x++)
    {


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

    وتحياتي لك





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

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


    ^^

    اخي عبد الله هو يريد ان يظهر مكان الرد المحذوف

    يعني 2 - 3 - 4 - 8

    لا ارى طريقة اخرى سوى اضافة حقل اضافي






  6. #6


    السلام عليكم

    أولا أشكر كل الاخوة اللى ردو عليا (عبدالله أبولبن ,استاذ نت ,ahmad sadiq)

    أبدا بالاخ
    عبدالله أبولبن
    بالنسبة إنى أعمل حلقة تكرار فبالفعل أنا عملت حلقة تكرار بس المشكلة أن كل صفحة حلقة التكرار بتعد من أول وجديد يعنى فى الصفحة الاولى 5 ردود مثلا يعد لحد خمسة ولما أدخل للصفحة الثانية لنفس الموضوع أجد أنة قام بعد الردود من الاول 1 2 3 ولكن المفروض يكمل العد من اللى كان فى الصفحة الاولى وأنا لا أستخدم نظام قوالب

    بالنسبة للاخ
    استاذ نت
    أنا لو عملتها من خلال قاعدة البيانات هتكون أولا مرهقة وغير كدة لو فرضنا أن تم حذف رد أو أكثر من الردود أكيد طبعا هيظهر تعداد الردود بهذا الشكل 1 2 5 6 8 أى أنها لن تكون بالترتيب .

    وبالنسبة للاخ
    ahmad sadiq نفس رد الاخ استاذ نت

    أنا أريد تعداد يظهر أخوانى لا يتأثر إذا قمنا بالذهاب للصفحة الثانية ثم الثالثة وهكذا أريد يظهر بشكل مرتب وأنا أقصد يظهر الارقام الصفحة الاولى( 1 2 3 4 5 ) , الصفحة الثانية (6 7 8 9) وهكذا وعلى فكرة أنا لا أقصد ترتيب الردود ولكن أقصد إظهار رقم الرد بشكل مرتب
    وأريد أيضا إذا تم حذف رد أو أكثر يظهر الترتيب بشئ صحيح .








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


    اذا هيك محلولة

    حدد متغير في ملف الكونفيج بعدد الردود في الصفحة
    وارسل متغير يشير إلى رقم الصفحة في الرابط

    يعني
    http://localhost/index.php?page=1

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

    يعني:
    كود PHP:
    $offset=10;
    $start max(1,intval($_GET['page'])-1);

    for (
    $i=$start;$i<=$start+$offset;$i++) 







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


    لا يسمح وقتي بالتفصيل
    ولكن استخدم limet

    كود:
    $start=$_GET[page]*10;
    SELECT * FROM table_name LIMIT $start, $_GET[page]
    ملاحظة الرقم 10 عدد التعليقات في الصفحة






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


    و عليكم السلام،
    --- تعديل: بعد ما حطيت الرد، اكتشفت إنه مستر سمعة سبقني بالجواب

    أولا خبرتي في البرمجة خفيفة ، بس إن شاء الله باحاول أفيدك
    رد ahmad sadiq ممتاز. لكن الحل لا يعتبر best practice (أو أفضل تطبيق) في حالة وجود مئات الردود أو التعليقات.

    يبغالك تلعب من ناحية الـ MySQL. لما تطلب استرجاع معلومة باسخدام select، استخدم معاها LIMIT
    ليش؟
    LIMIT لها استخدام غير ( لا تظهر إلّا س نتيجة ).
    باستخدام الـ LIMIT تقدر تطلب مجحموعة حقول محددة.
    يعني جرّب تعدل على الاستعلام و تخليه زي كذا
    كود PHP:
    select from replies LIMIT 20,20 
    يعني ابدأ من 20 (صف 21) و استرجع 20 صف

    بشكل شبه نهائي، تقدر تقول هذا اللي تبغاه
    كود PHP:
    $replies_per_page=10;
    $page_number $_GET['page_number'] - 1;
    $replies mysql_query("select * from replies LIMIT ".$page_number*$replies_per_page.",".$replies_per_page)
    for (
    $i=0;$i<$offset;$i++)
    سوي اللي تبغاه هنا :) 
    هذا و الله أعلم،
    رائد





    التعديل الأخير تم بواسطة Cenrak ; 10-01-2011 الساعة 11:00 PM سبب آخر: بعد ما حطيت الرد، اكتشفت إنه مستر سمعة سبقني بالجواب :)
    __________________
    "اقْــرَأ "
    اللهم ارزقنا حسن الختام

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


    تعديل بسيط


    كود PHP:
    $replies_per_page=10;
    $page_number $_GET['page_number'] - 1;
    $start_from=$page_number*$replies_per_page;
    $replies mysql_query("select * from replies LIMIT $start_from$replies_per_page")
    while(
    $row=mysql_ftech_array($replies)){
    echo 
    'رقم التعليق: '.$start_from;
    echo 
    '<br/>';
    echo 
    'التعليق: '.$row['cmment'];
    $start_from++;

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





    التعديل الأخير تم بواسطة مستر سمعة ; 10-01-2011 الساعة 11:17 PM

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


    الحل وصل مع الأخ مستر سمعة.
    بس عندي تعديل خفيف

    كود PHP:
    $replies_per_page=10;
    $page_number $_GET['page_number'] - 1;
    $start_from=$page_number*$replies_per_page;
    $replies mysql_query("select * from replies LIMIT $start_from$replies_per_page")
    while(
    $row=mysql_ftech_array($replies)){
    echo 
    'رقم التعليق: '.$start_from++;
    echo 
    '<br/>';
    echo 
    'التعليق: '.$row['cmment'];







    __________________
    "اقْــرَأ "
    اللهم ارزقنا حسن الختام

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


    ما شاء الله على الشباب مبدعين


    انا ردي كان يتطرق لعملية الترقيم فقط
    وما تقوله صحيح يجب دائمًا عمل limit

    ويمكن ان تضيف order by لتظهر التعليقات الاحدث أولا

    هناك ايضًا طريقة اخرى لكن لا احبها وهي استعمال المتغيرات في استعلام ال mysql
    كود PHP:
    SELECT @id:=0;
    select @id:=@id+as num,name from contacts limit 0,10 
    اذ ان ال sql فيها متغيرات وحلقات تكرار ويمكن ان تعرف فيها دوال ايضًا






  13. #13


    أشكر كل الاخوة اللى ردو عليا جميعا وأنا سعيد جدا بالتفاعل معى

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



    كود PHP:
    $template_content.="<h1 style=\"margin-top:15px;\" >الردود</h1>";
    #####split replies############################
    $page= (isset($_GET["p"])? secure_input($_GET["p"]):1);
    $existing_replies = new page_spilt("select * from `matjar_ads_replies` where `ad_id`='$ad_info[ad_id]' order by `date_added` asc"$page);
    $existing_replies->querystring="ad=$ad";
    $result=$existing_replies->get_results();

    if(
    is_array($result)){
    $i=1;
    foreach(
    $result as $key=>$value){
    $bgcolor=($i%2==0)?"#F6F6F6":"#FFFFFF";
    get_ad_rep_count($ad_info["ad_id"]);
    $template_content.='<div style="padding:5px;margin-bottom:20px;border:1px solid #ccc;background-color:'.$bgcolor.';" >

    <div style="border-bottom:1px dotted #ccc;padding-bottom:5px;margin-bottom:5px;" ><table   width="100%" ><tr><td style="width:60px;"  >اضيف في:</td><td >'
    .date("d-m-Y",$result[$key]["date_added"]).'</td><td style="width:60px;">بواسطة:</td><td><a title="ارسل رسالة خاصة" href="send_message.php?to='.$result[$key]["user_name"].'" >'.$result[$key]["user_name"].'</a></td><td>'.$i.'</td></tr></table></div>

    <div style="font-size:16px;" >'
    .$result[$key]["reply_content"].'</div>

    </div>'
    ;

    $i++;
    }

    if(
    $existing_replies->totalresnumber >$existing_replies->resperonetime){
    $numbers=$existing_replies->get_numbers();
    $template_content.= "<div id=\"page_numbers\" >";
    foreach (
    $numbers as $key => $value) {

            if (empty(
    $value))
     
    $template_content.=   "<div id=\"key_container\" >$key</div>";
            else
     
    $template_content.= "<a href=\"$value\"><div id=\"key_container\" >$key</div></a>";
        }
    $template_content.= "</div>";

    }


    }else{
    $template_content.= ad_error_message2("لايوجد ردود حاليا");



    مع العلم أن هذا المكان هو الذى سيتم إضافة رقم التعليق فية
    كود PHP:
    <td>'.$i.'</td
    وهذا هو الشكل النهائى للتعليق




    أشكركم مرة أخرى وأسف تعبتكم معايا





    التعديل الأخير تم بواسطة أنا مسلم ; 11-01-2011 الساعة 04:17 AM

  14. #14
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    723


    لو وضعت مثال لربط الصفحة الثانية او الثالثة لكي يتم التعرف على طريقة تعدد الصفحات المستخدم لكان افضل ..
    عموماً الفكرة تكون كالتالي :
    بداخل حلقة التكرار اضف الكود التالي مع تعديل قيمة $perpage لقيمة المتغير الأساسي لعدد التعليقات في الصفحة الواحدة :

    كود PHP:
               $perpage '8'// عدد الردود في كل صفحة
               
    $page $_GET['p']; // جلب رقم الصفحة
               
    $page intval($page);
                
    $x += 1
                if (
    $page $perpage)
                {
                
    $i $x;
                }
                else
                {
                
    $i $x+$page;
                } 






    التعديل الأخير تم بواسطة مشراق ; 11-01-2011 الساعة 10:08 AM

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


    لا ادري لماذا كل هذا التعقيد , لا حاجة لأي اسطر برمجية اخوي عندما تريد ترتيب نتائج الردود حسب ارقام بدون اي يتأثر حذف احد الردود بالترتيب الكلي , فقط قم باستعمال الوسم <ol> الخاص بلغة html وبداخله الوسم الفرعي <li> .

    مثال بسيط :

    كود PHP:
    <ol>
                  <
    li>التعقيب رقم 1</li>
                  <
    li>التعقيب رقم 2</li>
                  <
    li>التعقيب رقم 3</li>
    </
    ol
    بحيث يصبح الكود الخاص بك كالتالي ( طبعا بعد وضعه في حلقة تكرار ) :

    كود PHP:
    <ol>
                    <
    li>التعقيب $row['cmment']</li>
    </
    ol

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


    الى الامام عزيزي





    __________________
    EbNCaNa اخوكم ابن قانا

    [درس] قائمة بريدية بأسهل الطرق بواسطة PHP

    [توقيعك يجب أن لا يكون أطول من 400 حرف يتضمن تجاوز كود المنتدى] - الى متى المعاناة يا حضرة الأدارة ؟





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

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

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