简体   繁体   中英

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 ?

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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