在php中使用phpmyadmin订购商品

时间:2013-01-07 23:07:33

标签: php sorting content-management-system phpmyadmin

我正在尝试用PHP做一个简单的CMS。在Slider管理中,我想更改已添加的照片的顺序。

<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');
    }

当我点击图标时,代码工作没有任何问题。但结果却没有任何反应。我的代码或逻辑错误有问题吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

你的mysql_query()之后把它放了,因为我相信你有一个mysql错误:

echo mysql_error();

让我们知道它的内容。当您编写查询时,如果字段是varchar,date等,则应该只用单引号括起值,但不能用于数字等。我猜你的ID是一个数字,看来你的ORDER也是一个数字,所以在你的更新中你应该有这样的东西:

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

这至少应该让你开始,虽然你可能有逻辑问题,因为我不太明白为什么你要更新滑块表中的每一行,将旧订单更改为新订单而不管ID如何