在数据库表中设置唯一的优先级值,除了0

时间:2015-10-06 04:45:45

标签: php mysql sql-update

我有一个高亮表,这些高亮显示为幻灯片放映,幻灯片总数限制为5.管理方面我可以使用下拉列表设置优先级(1-5)。我有大约200个亮点。除了这5个,所有其他优先级将为0.我需要将优先级数设置为唯一的,如果它大于0.例如:当我创建新的突出显示或更改旧突出显示的优先级时如果是1,那么如果任何其他突出显示的优先级为1,则必须更改为0,新的突出显示为第1位。

这是我的代码,你能帮助我改进吗?

if (isset($_POST['update'])) {
    $statquery = "UPDATE `highlight_feature` SET `active` = '0'";
    $ststresult = mysql_query($statquery) or die(mysql_error());
    $query = "SELECT * FROM highlight_feature ORDER BY No DESC";
    $result = mysql_query($query) or die(mysql_error());
    while ($resultdata = mysql_fetch_array($result)) {
        $highlightid = $resultdata['No'];
        $status = $_POST[$highlightid];
        if ($status > 0) {
            $update_Query = "UPDATE `highlight_feature` SET `active` = $status WHERE `No` =$highlightid";
            $updateresult = mysql_query($update_Query) or die(mysql_error());
        }
    }
    header("Location: " . $domain . "/highlight/edit/index.php?cat=999");
    exit();
}

0 个答案:

没有答案