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

الموضوع: أهل ممكن شرح طريقة رفع او تنزيل موضوع في الترتيب؟

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270

    أهل ممكن شرح طريقة رفع او تنزيل موضوع في الترتيب؟



    السلام عليكم
    اريد عمل طريقة مشابهة لمجلة النيوك برفع او تنزيل موضوع ما (اعادة تبديل)

    اي عند الضغط على زر "ارفع الى فوق" يقوم برفع الموضوع درجة واحد للخلف واذا قمنا بوضع "تنزيل الموضوع" يتم تنزيل الموضوع للاسفل - يتم رفعه للاعى ليكون ترتيبهفي البداية

    ملاحظة لا اريد عمل text boxes وضع ارقام اريد وضع زر يقوم برفع وزر اخر يقوم بتنزيل الخبر "مثل مجلة النيوك"

    وشكرا





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر



  2. #2
    عضو فعال
    تاريخ التسجيل
    Feb 2003
    المشاركات
    1,308


    اعمل عامود في قاعدة البيانات اسمه topicorder
    واجعل القيم رقمية
    بحيث الرقم صفر هو الموضوع الذي في الأعلى
    فعند الإستدعاء من القاعدة : "ORDER by topicorder ASC"

    إذا ظغطت على زر "رفع الموضوع" يبدل رقم ال topicorder مع رقم الموضوع اللي ترتيبه أصغر منه مباشرة
    والعكس مع "إنزال الموضوع"

    أرجو ان أكون وضحت الأمر






  3. #3
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم
    نعم واضح اخي العزيز ولو فرضنا ان الموضوع الذي قبله مباشرة محذوف؟ this_id - 1

    لن يقوم باستبادال اي شيء!!!!

    فما العمل في هذا الحال؟





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    كود:
    select id,Min(level) as level from table where level > '1'
    group by level 
    order by level Asc
    Limit 1
    هذا يجيبلك السجل اللي اعلى منه مباشرة وبطريقتك عاد بدل مع السجل الحالي ...
    كود:
    select id,Max(level) as level from table where level <'55'
    group by level
    order by level Desc 
    Limit 1
    هذا يجيب السجل اللي ادنى منه مباشرة

    level = حقل الترتيب table = الجدول
    1 و 55 أرقام ترتيب السجل الحالي

    تحياتي





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  5. #5
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم
    شكرا لك يا غالي على هذا الكود

    رح اجربو واشوف

    بارك الله فيك





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  6. #6
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم

    قمت بمحاولة تطبيق الكود على الكود الي عاملة
    بالاستبدال
    ولاكن حدث خلل اي لا يقوم باعادة الترتيب باشكل الصحيح. لا يبدو انه يقوم باستبدال الخبر في القاع!!!!

    يرجال مشاهدة الكود التالي

    كود PHP:






    //#######################################  get the next/previous news ####################################//
    function get_news($id,$min_max)
    {

        if(
    $min_max == "Min")
        {
        
    $sql=mysql_query("SELECT id, Min(tidy) AS tidy FROM MainNews WHERE tidy > $id  GROUP BY tidy ORDER BY tidy ASC LIMIT 1");
        }else {
        
    $sql=mysql_query("SELECT id, Max(tidy) AS tidy FROM MainNews WHERE tidy < $id  GROUP BY tidy ORDER BY tidy DESC LIMIT 1");
        }

        if(
    $sql)
        {
        
    $row=mysql_fetch_array($sql);
        
    $id=$row['id'];
        
    mysql_free_results($sql);
        unset(
    $row$sql);
        return 
    $id;
        } else 
        return 
    0;
        
    }

    //#######################################  Update the news order ####################################//
    function update_next_head($id$case//pass the currecnt id             - returns 1 if the prossess completed successfully and returns 0 if not.
    {
    //$case == Min OR Max
    $call=mysql_query("SELECT id, tidy FROM MainNews WHERE id=$id ");
    $row=mysql_fetch_array($call);
    $current_id   $row['id'];
    $current_tidy $row['tidy'];
    $next_id       get_news($current_id$case);
    $call_next=mysql_query("SELECT id, tidy FROM MainNews WHERE id=$next_id ");
    $next_row=mysql_fetch_array($call_next);
    $next_tidy $next_row['tidy'];
    $update_next     mysql_query("UPDATE MainNews SET tidy='$current_tidy'  WHERE id = $next_id ");
    $update_current mysql_query("UPDATE MainNews SET tidy='$next_tidy'      WHERE id = $current_id ");

        if( (
    $update_next) AND ($update_current) ){
        
    mysql_free_result($call);
        
    mysql_free_result($call_next);
        unset(
    $call$row$current_id$current_tidy$call_next$next_id$next_row$next_tidy$update_next,  $update_current);

        return 
    1;
        }else 
        return 
    0;


    }


    //####################################### push news up ####################################//

    if($action == "push_up")
    {

        
    $up_id=$_POST['current_id'];

        if(empty(
    $up_id))
        {
        echo 
    "<div align=\"center\"><p class=\"error\">حدث خلل بتحديد هوية الخبر اثناء محاولة رفع الخبر</p>";
        echo 
    "<br /><input type=\"button\" value=\" ".$msg['go_back']." \" class=\"btn\" onmouseover=\"hov(this,'btn btnhov')\"  onmouseout=\"hov(this,'btn')\" onFocus=\"this.blur()\" onClick=\"history.go(-1)\">";
        exit();
        }

        if(
    update_next_head($up_id"Min") )
        {
        echo 
    "<div align=\"center\"><p class=\"submitsucssess\">تم استبدال ترتيب الخبر للاعلى بنجاح</p>";
        echo 
    "<br /><a href=\"$PHP_SELF\">العودة الى صفحة تحرير الاخبار</a></div>";
        exit();
        }

    }



    //####################################### push news down ####################################//

    if($action == "push_down")
    {

        
    $up_down=$_POST['current_id'];

        if(empty(
    $up_down))
        {
        echo 
    "<div align=\"center\"><p class=\"error\">حدث خلل بتحديد هوية الخبر اثناء محاولة رفع الخبر</p>";
        echo 
    "<br /><input type=\"button\" value=\" ".$msg['go_back']." \" class=\"btn\" onmouseover=\"hov(this,'btn btnhov')\"  onmouseout=\"hov(this,'btn')\" onFocus=\"this.blur()\" onClick=\"history.go(-1)\">";
        exit();
        }

        if(
    update_next_head($up_down"Max") )
        {
        echo 
    "<div align=\"center\"><p class=\"submitsucssess\">تم استبدال ترتيب الخبر للاسفل بنجاح</p>";
        echo 
    "<br /><a href=\"$PHP_SELF\">العودة الى صفحة تحرير الاخبار</a></div>";
        exit();
        }



    وشكرا





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2007
    المشاركات
    393


    والله ياخوي ياليت تختصر كودك ... كذا ملخبط ..وفيه تفاصيل ماله داعي

    شف هذي سويتها على السريع ان شاء الله مافيه خطأ اقرا الكود زين وشف الشئ الازم تعديله ...
    كود PHP:

    function getRecord($sql)
    {
        
    $query mysql_query($sql);
        if(
    $query)
        {
           return 
    mysql_fetch_assoc($query);
        }
        return 
    false;
    }

    function 
    up($id)
    {
        
    $current getRecord("Select level,id from table where id = '$id'");
        
    $up getRecord("
        select id,Min(level) as level from table where level > '
    $current[level]'
        group by level 
        order by level Asc
        Limit 1"
    );
        
        
        
        if(
    $up['level'] > 0)
        {
            
    mysql_query("UPDATE table SET level='$current[level]' WHERE id='$up[id]'");
            
    mysql_query("UPDATE table SET level='$up[level]' WHERE id='$current[id]'");
        }

    }

    function 
    down($id)
    {
        
    $current getRecord("Select level,id from table where id = '$id'");
        
    $down getRecord("
        select id,Max(level) as level from table where level <'
    $current[level]'
        group by level
        order by level Desc 
        Limit 1"
    );

        if(
    $down['level'] != $current['level'])
        {
            
    mysql_query("UPDATE table SET level='$current[level]' WHERE id='$down[id]'");
            
    mysql_query("UPDATE table SET level='$down[level]' WHERE id='$current[id]'");
        }

    تحياتي





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  8. #8
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم يا غالي

    للاسف لم يعمل مع انو قال انه تم الترتيب بنجاح!!!!!

    اليك طريقة طلبي للدوالات



    كود PHP:



    if($action == "push_up")
    {

        
    $up_id=$_POST['current_id'];

        if(empty(
    $up_id))
        {
        echo 
    "<div align=\"center\"><p class=\"error\">حدث خلل بتحديد هوية الخبر اثناء محاولة رفع الخبر</p>";
        echo 
    "<br /><input type=\"button\" value=\" ".$msg['go_back']." \" class=\"btn\" onmouseover=\"hov(this,'btn btnhov')\"  onmouseout=\"hov(this,'btn')\" onFocus=\"this.blur()\" onClick=\"history.go(-1)\">";
        } else {
        
    up($up_id);
        echo 
    "<div align=\"center\"><p class=\"submitsucssess\">تم استبدال ترتيب الخبر للاعلى بنجاح</p>";
        echo 
    "<br /><a href=\"$PHP_SELF\">العودة الى صفحة تحرير الاخبار</a></div>";
        }
        exit();

    }

    //####################################### push news up ####################################//


    if($action == "push_down")
    {

        
    $up_id=$_POST['current_id'];

        if(empty(
    $up_id))
        {
        echo 
    "<div align=\"center\"><p class=\"error\">حدث خلل بتحديد هوية الخبر اثناء محاولة تنزيل الخبر</p>";
        echo 
    "<br /><input type=\"button\" value=\" ".$msg['go_back']." \" class=\"btn\" onmouseover=\"hov(this,'btn btnhov')\"  onmouseout=\"hov(this,'btn')\" onFocus=\"this.blur()\" onClick=\"history.go(-1)\">";
        } else {
        
    down($up_id);
        echo 
    "<div align=\"center\"><p class=\"submitsucssess\">تم استبدال ترتيب الخبر للاسفل بنجاح</p>";
        echo 
    "<br /><a href=\"$PHP_SELF\">العودة الى صفحة تحرير الاخبار</a></div>";
        }
        exit();




    وتم تعديل الباقي level & id & table

    ما العمل ؟؟؟
    واذا في امكانية شرح دالةعمل ysql_fetch_assoc وشكرا





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  9. #9
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم
    اخي العزيز flasher
    حاولت كثير ولاكن للاسف لم انجح!!!!!

    هذا الكود الي قمت بتعديله ولاكن لا يعمل !!!! لا يقوم بتعديل شيء للاسف
    وهذا الكود


    كود PHP:




     
    function getRecord($sql

        
    $query mysql_query($sql); 
        if(
    $query
        { 
           return 
    mysql_fetch_assoc($query); 
        } 
        return 
    false


    function 
    up($id

        
    $current getRecord("SELECT tidy, id, status FROM MainNews WHERE id = '$id' "); 
        
    $up getRecord("SELECT id, min(tidy) AS tidy, status FROM MainNews WHERE tidy > '$current[tidy]'  AND status='1' GROUP BY tidy ORDER BY tidy ASC LIMIT 1"); 

        if(
    $up['tidy'] > 0) {
        
    mysql_query("UPDATE MainNews SET tidy='$current[tidy]' WHERE id='$up[id]' "); 
        
    mysql_query("UPDATE MainNews SET tidy='$up[tidy]' WHERE id='$current[id]' "); 
        }


    function 
    down($id

        
    $current getRecord("SELECT tidy, id, status FROM MainNews WHERE id = '$id' AND status='1' "); 
        
    $down getRecord("SELECT id, max(tidy) AS tidy, status FROM MainNews WHERE tidy < '$current[tidy]'  AND status='1'  GROUP BY tidy ORDER BY tidy ASC LIMIT 1"); 

        if(
    $down['tidy'] != $current['tidy']) 
        {
        
    mysql_query("UPDATE MainNews SET tidy='$current[tidy]' WHERE id='$down[id]' "); 
        
    mysql_query("UPDATE MainNews SET tidy='$down[tidy]' WHERE id='$current[id]' "); 
        }








    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


  10. #10
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم
    تم وبحمد الله حل المشكلة بعد حذف الكود التالي من الكود Min(level) as و max(level) as





    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر


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


    عذرا للتأخير ..

    لو تكرمت ضع الكود للفائدة العامة .. وماهو الخطأ بالضبط ؟ وكيف استغنيت عن الMin(level) max(level) as ؟ ....

    تحياتي





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  12. #12
    عضو فعال جدا
    تاريخ التسجيل
    Jun 2003
    المشاركات
    2,270


    السلام عليكم
    اخي العزيز قمت بعرض النتائج واستبدال الخبر الحالي اما باول النتائج الاكبر من الخبر الحالي وقمت باستبدال الخبرالحالي باخر خبر من النتائج الاكبر


    قمت بعمل التالي

    كود PHP:



     
    function getRecord($sql)  
    {  
        
    $query mysql_query($sql);  
        if(
    $query)  
        {  
           return 
    mysql_fetch_assoc($query);  
        }  
        return 
    false;  
    }  

    function 
    up($id)  
    {  
        
    $current getRecord("SELECT tidy, id, status FROM MainNews WHERE id = '$id' ");  
        
    $up getRecord("SELECT id, tidy, status FROM MainNews WHERE tidy > '$current[tidy]'  AND status='1' GROUP BY tidy ORDER BY tidy ASC LIMIT 1");  

        if(
    $up['tidy'] > 0) { 
        
    mysql_query("UPDATE MainNews SET tidy='$current[tidy]' WHERE id='$up[id]' ");  
        
    mysql_query("UPDATE MainNews SET tidy='$up[tidy]' WHERE id='$current[id]' ");  
        } 
    }  

    function 
    down($id)  
    {  
        
    $current getRecord("SELECT tidy, id, status FROM MainNews WHERE id = '$id' AND status='1' ");  
        
    $down getRecord("SELECT id, tidy, status FROM MainNews WHERE tidy < '$current[tidy]'  AND status='1'  GROUP BY tidy ORDER BY tidy DESC LIMIT 1");  

        if(
    $down['tidy'] != $current['tidy'])  
        { 
        
    mysql_query("UPDATE MainNews SET tidy='$current[tidy]' WHERE id='$down[id]' ");  
        
    mysql_query("UPDATE MainNews SET tidy='$down[tidy]' WHERE id='$current[id]' ");  
        } 








    __________________


    عاشت فلسطين وعاشت المقاومة
    http://www.palintefada.com/arabic
    http://www.palissue.com/arabic
    موقع انتفاضة فلسطين - موقع القضية الفلسطينية
    الكاسر






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

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

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