2017-07-31 4 views
-3

私はコンマ区切り値の2つのセット、studentidsmarksを作成しています。私はこれらの2つのデータセットをPHPファイルに送り、データベースに値を挿入します。例えばajaxからカンマ区切りの2つの値を組み合わせてMySQLに挿入する

studentids1,4,5,7,2で、marks24,25,25,50,50で、その後、私のようにそれが構造id | studentid | markとデータベースに挿入したい場合:

var marks= $(".inpmark").map(function(){return $(this).val()}).get(); 
var studentids= $(".studidsub").map(function() {return $(this).text()}).get(); 

$.ajax({ 
type: "POST", 
url: "modules/addmarks.php", 
dataType: 'json', 
data: {s:studentids,m:marks}, 
cache: false, 
}) 
... etc 
:私のjQueryの/ AJAXはこのようになります

id | studentid | mark 
1 |  1  | 24 
2 |  4  | 25 
3 |  5  | 25 
4 |  7  | 50 
5 |  2  | 50 

私のPHPファイルでforeachのように1つの値のセットがカンマで区切られている場合、値を追加する方法を知っています:

... (excerpt) 
if(!$errors) { 
    $sql = "INSERT INTO `marks` (`studentid`, `mark`) VALUES (?,?)"; 
    $stmts = $mysqli->prepare($sql); 
    $student_ids = explode(",",$studentids); 

    foreach ($student_ids as $student_id) { 
     $stmts->bind_param('ii',$student_id,$mark); 
     $result = $stmts->execute(); 
    } 
$returnResult = "Success"; 
} 
+2

これらはコンマで区切られていません。配列を送信しています。それ以外では具体的な問題が何であるかはっきりしていません – charlietfl

答えて

0
if(!$errors) { 
$sql = "INSERT INTO `marks` (`studentid`, `mark`) VALUES (?,?)"; 
$stmts = $mysqli->prepare($sql); 
$student_ids = explode(",",$studentids); 
$mark = explode(",",$marks); 
$i=0; 
foreach ($student_ids as $student_id) { 
    $stmts->bind_param('ii',$student_id,$mark[$i]); 
    $result = $stmts->execute(); 
    $i++; 
} 
$returnResult = "Success"; 
} 
+0

このコードは質問に答えるかもしれませんが、このコードが質問に答える理由と理由についての追加の文脈を提供することで、 ***良い答え***は、何が行われたのか、それがなぜOPのためだけでなく、将来の訪問者のためにそうした方法で行われたのかについての説明を常に持っています。 –

関連する問題