gpt4 book ai didi

php - 使用 extjs 在数组中更新 MYSQL,单个响应

转载 作者:行者123 更新时间:2023-11-29 14:37:23 25 4
gpt4 key购买 nike

我正在尝试使用 extjs,但遇到了一个问题。我有一个从网格表更新的函数,我试图以 JSON 编码语句将“成功”发送回浏览器。如果我只更新一个值,它就可以正常工作。但是,如果我更新多个值(从数组),则会为每个值发送响应,从而导致错误。我怎样才能对整个数组给出一个响应?

代码如下:

    $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

最佳答案

从循环中删除 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"}';
}

关于php - 使用 extjs 在数组中更新 MYSQL,单个响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8760198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com