2013-01-07 86 views
0

我想在PHP中做一個簡單的CMS。在滑塊管理中,我想更改添加的照片的順序。PHP中的phpmyadmin訂購商品

<a href="slideup.php?order=<?php echo $result['order']; ?>&id=<?php echo $result['id']; ?>" title="Up"><img src="../images/up.png" alt="Up" /></a> 
<a href="slidedown.php?order=<?php echo $result['order']; ?>&id=<?php echo $result['id']; ?>" title="Down"><img src="../images/down.png" alt="Down" /></a> 

它發送相關的PHP頁面,當前的訂單和幻燈片的ID。

slideup.php

<?php 

    include('includes/functions.php'); 

    $order=$_REQUEST['order']; 
    $id=$_REQUEST['id']; 

    goUp($order, $id); 

?> 

slidedown.php

<?php 

    include('includes/functions.php'); 

    $order=$_REQUEST['order']; 
    $id=$_REQUEST['id']; 

    goDown($order, $id); 

?> 

的functions.php

function goUp($order, $id) 
    { 
     $db = new DB_CONNECT(); 
     if(!$order == 1) 
     { 
      $neworder = $order - 1; 
      mysql_query("UPDATE `slider` SET `order`='$order' WHERE `order`='$neworder'") or die(mysql_error()); 
      mysql_query("UPDATE `slider` SET `order`='$neworder' WHERE `id`='$id'") or die(mysql_error()); 
     }  

     header('Location: ../admin/slider.php'); 
    } 

function goDown($order, $id) 
    { 
     $db = new DB_CONNECT(); 

     $totalslide = 0; 
     $query = mysql_query("SELECT COUNT(`id`) as count FROM `slider`") or die(mysql_error()); 
     $result = mysql_fetch_array($query); 
     $totalslide = $result['count']; 

     if(!$order == $totalslide) 
     { 
      $neworder = $order + 1; 
      mysql_query("UPDATE `slider` SET `order`='$order' WHERE `order`='$neworder'") or die(mysql_error()); 
      mysql_query("UPDATE `slider` SET `order`='$neworder' WHERE `id`='$id'") or die(mysql_error()); 
     }  

     header('Location: ../admin/slider.php'); 
    } 

當我點擊圖標,代碼工作沒有任何問題。但結果是,沒有任何反應。有關於我的代碼或邏輯錯誤的問題嗎?

謝謝。

echo mysql_error(); 

讓我們知道它說:

+0

OT:你當前的代碼容易受到sql注入 – Stefan

回答

0

您的mysql_query()之後,因爲我相信你有一個MySQL錯誤把這個。當你寫一個查詢時,如果這個字段是一個varchar,日期等,而不是數字等,你應該只用單引號括住這個值。我猜你的ID是一個數字,它似乎您的訂單是人數太多,所以在你更新你應該有這樣的事情:

mysql_query("UPDATE `slider` SET `order`=$neworder WHERE `id`=$id") or die(mysql_error()); 

這至少應該讓你開始,雖然你可能有邏輯問題,因爲我不明白爲什麼要更新滑塊表中的每一行,將舊訂單更改爲新訂單而不考慮ID。

+0

'echo mysql_error();'給我什麼都沒有。單引號沒有改變,因爲你這樣做。它不會給你一個錯誤。我正在更新滑塊表,因爲我在那裏保存了我的幻燈片信息。同時我正在顯示,從數據庫中獲取數據。對這些情況來說這是一個糟糕的做法嗎? –