繁体   English   中英

mysql / php如果值为空,则忽略设置

[英]mysql/php Ignore set if value is null

反正是有忽略集CalDate和交货期,如果他们是空的,仍然成功更新的输入的值,并节省 CalDate交货期 旧的价值?

if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){
$upd = "UPDATE booking SET status='$status', CalDate='$CalDate', DueDate='$DueDate' WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')";
}

这段代码为null设置了一个0000-00-00值,这是可以理解的,但是我确实喜欢在这种情况下忽略它。

尝试这个。

  if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){

        $upd = "UPDATE booking SET status='$status'";
        if($CalDate !='')
           $upd.= ",CalDate='$CalDate'";
        if($DueDate !='') 
           $upd .= ",DueDate='$DueDate'";
        $upd .=" WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')";
        }
if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){
    $set = "status = '$status'";
    if ( ! empty($CalDate) ) $set .= ", CalDate = '$CalDate'";
    if ( ! empty($DueDate) ) $set .= ", DueDate = '$DueDate'";
    $upd = "UPDATE booking 
        SET $set 
        WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')";
}
if(isset($itemID1) && isset($itemID2) && isset($itemID3) && isset($itemID4) && isset($itemID5) && isset($itemID6) && isset($itemID7) && isset($itemID8) && isset($itemID9) && isset($itemID10)){
    $query = "UPDATE booking SET status='$status'";
    if($CalDate != NULL ){
        $query .= ", CalDate='$CalDate'";
        //Run this query to get the CalDate
        //"SELECT CalDate FROM booking WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')"
        //Get the result into $CalDate
    }
    if($DueDate != NULL ){
        $query .= ", DueDate='$DueDate'";
        //Run this query to get the DueDate
        //"SELECT DueDate FROM booking WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')"
        //Get the result into $DueDate
    }
    $query .= " WHERE itemID IN ('$itemID1', '$itemID2', '$itemID3', '$itemID4', '$itemID5', '$itemID6', '$itemID7', '$itemID8','$itemID9', '$itemID10')";

    $upd = $query;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM