За последние 24 часа нас посетил 17441 программист и 1634 робота. Сейчас ищут 1435 программистов ...

Не правильно меняет местами поля по id

Тема в разделе "PHP и базы данных", создана пользователем sokol8692, 28 мар 2013.

  1. sokol8692

    sokol8692 Активный пользователь

    С нами с:
    24 дек 2010
    Сообщения:
    28
    Симпатии:
    0
    Добрый день, не могу понять в чем проблема есть код который меняет местами записи в админке
    код ниже меняет но вместо прибавления на +1 значение ставить в поле id -1 или 0
    например id ровно 5 --после нажатие на стрелочку вверх ставить 0, если вниз нажать то меняет значение на -1

    Код (Text):
    1.  
    2.  
    3. <?php
    4.  
    5. if($_GET['up_menu'])$up_menu = $_GET['up_menu'];
    6. if($_GET['down_menu'])$down_menu = $_GET['down_menu'];
    7. if(isset($up_menu) || isset($down_menu))
    8. {
    9.     if(isset($up_menu))//Если двигаем вверх
    10.     {
    11.         $info_menu = mysql_query("SELECT id FROM menu_cat WHERE id='$up_menu'");//Вытаскиваем значение колонки id
    12.         $myrow_info_menu = mysql_fetch_array($info_menu);
    13.         $new_pos = $myrow_info_menu[id0] - 1;//Изменяем значение позиции
    14.         $nav_id = $up_menu;//Сохраняем id пункта который двигаем в отдельную переменную
    15.     }
    16.     if(isset($down_menu))//Если двигаем вниз
    17.     {
    18.         $info_menu = mysql_query("SELECT id FROM menu_cat WHERE id='$down_menu'");
    19.         $myrow_info_menu = mysql_fetch_array($info_menu);
    20.         $new_pos = $myrow_info_menu[id0] + 1;//Изменяем значение позиции
    21.         $nav_id = $down_menu;//Сохраняем id пункта который двигаем в отдельную переменную
    22.     }
    23.  
    24.     $old_pos = $myrow_info_menu[id0];//Заносим в отдельную переменную значение позиции двигаемого пункта
    25.  
    26.     $new_pos_db = mysql_query ("UPDATE menu_cat SET id='$old_pos' WHERE id='$new_pos'");
    27.     $old_pos_db = mysql_query ("UPDATE menu_cat SET id='$new_pos' WHERE id='$nav_id'");
    28.     header("location: admin.php");
    29.     exit;
    30. }
    31. ?>