mysql / php如果value为null,则忽略set

时间:2015-01-14 10:23:28

标签: php mysql

如果它们为空并且仍然成功更新输入的值并且保存旧 CalDate 并且<<无论如何仍然忽略设置的CalDate和DueDate强> 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')";
}

这段代码设置了一个如果为null的值,这是可以理解的,但在这种情况下,我确实希望忽略它。

3 个答案:

答案 0 :(得分:1)

试试这个。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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