简体   繁体   English

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

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

Is there anyway to ignore the set CalDate and DueDate if they are null and still succeed to update the values that are entered and save the old value on CalDate and DueDate ? 反正是有忽略集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')";
}

This code set a value of 0000-00-00 if null which is understandable but I do like it to ignore that in that case. 这段代码为null设置了一个0000-00-00值,这是可以理解的,但是我确实喜欢在这种情况下忽略它。

try this. 尝试这个。

  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