2013-05-15 17 views
0

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

$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()); 


?> 
+0

[请不要在新代码中使用'mysql_ *'函数](http://stackoverflow.com/q/12859942/1190388)。他们不再被维护,并[正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到红色框?改为了解准备好的语句,然后使用[tag:PDO]或[tag:MySQLi]。 – hjpotter92

+0

重复该问题并不能改善其被回答的机会。不过,提炼它确实如此。 – raina77ow

+0

我明白我是一个noob,所以我想抓住php。我会养成这种习惯。关于我的问题,你有什么建议? – NewHistoricForm

回答

0

固定!我想通过其他线路反复重申这些变量。非常爱你们。

//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()); 


?> 
相关问题