2015-01-14 7 views
1

Есть в любом случае игнорировать множество CALDATE и DueDate, если они равны нулю, и до сих пор удается обновить значения, которые вводятся и сохранить старую значение на CALDATE и DueDate?MySQL/PHP Игнорирует устанавливается, если значение равно нулю

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

Этот код устанавливается значение 0000-00-00 если нуль, которое понятно, но мне действительно нравится это игнорировать, что в этом случае.

+0

Внутри вашей БД те поля может быть пустым? –

+0

Да, они могут быть – Snoken

+0

$ upd - это строка. Если $ CalDate имеет значение null, не добавляйте этот код к запросу. Так постройте свой запрос динамически;) –

ответ

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

Это работало и выглядело чистым и хорошим! Спасибо: D – Snoken

+0

хорошая работа .. сделать петлю на нем .. :) – Sarath

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')"; 
} 
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; 
} 
Смежные вопросы