2012-01-06 53 views
0

我對extjs切齒,並遇到一個問題。我有一個從網格表更新的函數,我試圖用JSON編碼語句將「成功」發送回瀏覽器。如果我只更新一個值,它可以正常工作。但是,如果我更新多個值(來自數組),則會爲每個值發送響應,從而導致錯誤。我怎樣才能爲整個數組提供一個響應?下面MYSQL更新與extjs,單響應陣列

代碼:

$conn = mysql_connect ('localhost', 'root', '') or die (mysql_error()); 
    mysql_select_db ('cptestdata', $conn) or die (mysql_error()); 

    $json_string = file_get_contents("php://input"); 
    $obj = json_decode($json_string, true); 

    // check for single update value. if so, create array wrapper 
     if(!isset($obj [0])) { 
      $temp = array(); 
      $temp[] = $obj; 
     $obj = $temp; 
     } 
     foreach ($obj as $value) { 

      $option_id  = $value['option_id']; 
      $option_val  = $value['option_value']; 

       $option_q = " 
         UPDATE wp_options 
         SET option_value='".$option_val."' 
         WHERE option_id='".$option_id."' 
         "; 


       mysql_query($option_q); 


       // json output to notify the insert is success or not 
       if ($option_q) { 
         echo '{"success":"true"}'; 
       } 
       else { 
         echo '{"success":"false"}'; 
       } 
     } // endforeach 

回答

1

取下環路echo,就像這樣:

$conn = mysql_connect ('localhost', 'root', '') or die (mysql_error()); 
    mysql_select_db ('cptestdata', $conn) or die (mysql_error()); 

    $json_string = file_get_contents("php://input"); 
    $obj = json_decode($json_string, true); 

    // check for single update value. if so, create array wrapper 
     if(!isset($obj [0])) { 
      $temp = array(); 
      $temp[] = $obj; 
     $obj = $temp; 
     } 
     $success = TRUE; 
     foreach ($obj as $value) { 

      $option_id  = $value['option_id']; 
      $option_val  = $value['option_value']; 

       $option_q = " 
         UPDATE wp_options 
         SET option_value='".$option_val."' 
         WHERE option_id='".$option_id."' 
         "; 


       mysql_query($option_q); 

       if (!$option_q) 
        $success = FALSE; 


     } // endforeach 

     // json output to notify the insert is success or not 
     if ($success) { 
       echo '{"success":"true"}'; 
     } 
     else { 
       echo '{"success":"false"}'; 
     } 
+0

完美!感謝您及時的回覆。 – Norcross 2012-01-06 15:46:52