逻辑问题ifelse循环

时间:2015-11-29 09:23:24

标签: php mysql ajax datepicker

我正在尝试在更新的部分发布数据,但我不能。我正在使用ajax方法发布。 ifelse循环中的问题,因为如果我删除所有三个if else循环,那么数据将被发布。 为什么我使用这些ifelse逻辑,因为如果用户没有从输入中选择日期值而不是值 NULL

    <?PHP
    if(isset($_POST['action']) && $_POST['action']=="add") 
    {
            add data
        }  

    if(isset($_POST['action'])&& $_POST['action']=="update") //data update
    { 
        update  data
    }
    if(isset($_POST['action']) && $_POST['action']=="delete") //Action for delere
    {
        delete data 
    }
    elseif(isset($_POST['action'])&& $_POST['action']=="updated") 
    {
        $id=$_POST['edit_id'];
            $istatus=$_POST['edit_istatus'];
        $idpicker= $_POST["sdatepicker"][0];
        $cstatus=$_POST['edit_cstatus'];
        $cdpicker= $_POST["sdatepicker"][1];
        $rstatus=$_POST['edit_rstatus'];
        $rdpicker= $_POST["sdatepicker"][2];

    if($i_date=strtotime($idpicker) == false)
    {
        $iinsertDate=NULL;      
    }
    else  
    {
        $iinsertDate  = date("Y-m-d",strtotime($idpicker)); 
    }


    if($c_date=strtotime($cdpicker) == false) 
    {
        $cinsertDate=NULL;  
    }
    else   
    {
        $cinsertDate  = date("Y-m-d",strtotime($cdpicker)); 
    }


    if($r_date=strtotime($rdpicker) == false) 
    {
        $rinsertDate=NULL;  
    }
    else   
    {
        $rinsertDate  = date("Y-m-d",strtotime($rdpicker));
    }       

    $test = mysqli_query($conn,"UPDATE status SET        istatus='$istatus',idate='$iinsertDate',cdate='$cinsertDate',rdate='$rinsertDate',rstatus='$rstatus',cstatus='$cstatus' WHERE sid='$id'") or die ("Query Wrong");
 echo '{"status":"3"}';
 exit;
 }
 ?>

1 个答案:

答案 0 :(得分:0)

尝试使用:

if(isset($_POST['action']) && $_POST['action']=="add") 
{
    // add data
}  

if(isset($_POST['action']) && $_POST['action']=="update")
{ 
    //update  data
}

if(isset($_POST['action']) && $_POST['action']=="delete")
{
    //delete data 
}

if(isset($_POST['action']) && $_POST['action']=="updated") 
{
    $id=$_POST['edit_id'];
    $istatus=$_POST['edit_istatus'];
    $idpicker= $_POST["sdatepicker"][0];
    $cstatus=$_POST['edit_cstatus'];
    $cdpicker= $_POST["sdatepicker"][1];
    $rstatus=$_POST['edit_rstatus'];
    $rdpicker= $_POST["sdatepicker"][2];
    $iinsertDate = NULL;
    $cinsertDate = NULL;
    $rinsertDate = NULL;

    if($i_date=strtotime($idpicker) != false)
    {
        $iinsertDate  = date("Y-m-d",strtotime($idpicker)); 
    }

    if($c_date=strtotime($cdpicker) != false) 
    {
        $cinsertDate  = date("Y-m-d",strtotime($cdpicker)); 
    }

    if($r_date=strtotime($rdpicker) != false) 
    {
        $rinsertDate  = date("Y-m-d",strtotime($rdpicker));
    }       

    if($iinsertDate != NULL && $cinsertDate != NULL && $rinsertDate != NULL)
    {
        $test = mysqli_query($conn,"UPDATE status SET istatus = '$istatus', idate = '$iinsertDate', cdate = '$cinsertDate', rdate = '$rinsertDate', rstatus = '$rstatus', cstatus = '$cstatus' WHERE sid = '$id'") or die ("Query Wrong");
        echo json_encode(array("status"=>"3"));
    }
    else
    {
        //what ever else you want to do
    }
 }