【问题标题】:JQGRID, How to post Selected rows data only once to Database?JQGRID,如何将选定的行数据仅发布一次到数据库?
【发布时间】:2013-05-15 17:40:13
【问题描述】:

您好,我有一个带有自定义操作按钮的 jqgrid 设置,可将选定的行发送到数据库。我的一切正常,除了它每行发布 7 次数据,选择我只希望每个选定行发布一次的数据。请任何和所有帮助表示赞赏。 JQGrid, How to post JSON string to PHP to Process and send to Database?

$decarr= array(
['id'] =>
518
['name'] =>
'Brochure for amada'
['id_continent'] =>
' Ramon'
['lastvisit'] =>
'5/15/2013'
['cdate'] =>
'5/29/2013'
['ddate'] =>
'5/31/2013'
['email'] =>
'<a href="/media-management/uploads/1368166339.zip">Files</a>'
)

PHP:

//First decode the array
$arr = $_POST["json"];
$decarr = json_decode($arr, true);

$count = count($decarr);

$values = array(); // This will hold our array values so we do one single insert

for ($x=0; $x < $count; $x++){
$newrec = $decarr; 
$id = $newrec['id']; $id = mysql_real_escape_string($id);
$name = $newrec['name']; $name = mysql_real_escape_string($name);
$id_continent = $newrec['id_continent']; $id_continent = mysql_real_escape_string($id_continent);
$email = $newrec['email']; $email = mysql_real_escape_string($email);
$lastvisit = $newrec['lastvisit']; $lastvisit = mysql_real_escape_string($lastvisit); 
$cdate = $newrec['cdate']; $cdate = mysql_real_escape_string($cdate); 
$ddate = $newrec['ddate']; $ddate = mysql_real_escape_string($ddate); 


// Create insert array
$values[] = "('".$id."', '".$name."', '".$id_continent."', '".$lastvisit."','".$cdate."','".$ddate."','".$email."' )";  



}

// Insert the records   

$sql = "INSERT INTO finish (id, name, id_continent, lastvisit,cdate,ddate, email)
VALUES ".implode(',', $values);

$result = mysql_query($sql, $con) or die(mysql_error());  


?>

【问题讨论】:

  • Please, don't use mysql_* functions 在新代码中。它们不再被维护并且是officially deprecated。看到红框了吗?改为了解准备好的语句,并使用pdomysqli
  • 重复问题并不会提高其被回答的机会。不过,对其进行改进。
  • 我知道我仍然是一个菜鸟,所以我正在努力掌握 php。我会养成这个习惯。您对我的问题有什么建议?
  • 实际上,除了mysql 的用法,PHP 部分看起来没有任何问题。 $decarr 中有什么,你能记录下它的值吗?
  • 好的,我在上面添加了 $decarr 中的内容。那么我错过了什么?为什么 7 被发布到数据库?

标签: php jquery mysql jqgrid-php


【解决方案1】:

已修复!我发现变量在其他行中一遍又一遍地重复。非常爱你们。

//First decode the array
$arr = $_POST["json"];
$decarr = json_decode($arr, true);
$count = count($decarr);


for ($x=0; $x < $count; $x++){
$newrec = $decarr; 
$id = $newrec['id']; 
$name = $newrec['name']; 
$id_continent = $newrec['id_continent']; 
$email = $newrec['email']; 
$lastvisit = $newrec['lastvisit']; 
$cdate = $newrec['cdate']; 
$ddate = $newrec['ddate']; 

}

// Create insert array
$values[] = "('".$id."', '".$name."', '".$id_continent."', '".$lastvisit."','".$cdate."','".$ddate."','".$email."' )";  





// Insert the records   

$sql = "INSERT INTO finish (id, name, id_continent, lastvisit,cdate,ddate, email)
VALUES ".implode(',', $values);

$result = mysql_query($sql, $con) or die(mysql_error());  


?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 2016-10-17
    相关资源
    最近更新 更多