2016-12-27 8 views
0

生徒を分離し、データを格納するために2つのネストされたforループを使用する方法..?別々のグループ別の学生SQL

$jobID    = 85 
$gd_individuals  = 4 ; 

$studentQuery = $conn->query(" select s.student_pid,i.email,s.student_email, s.student_fname, 
     s.student_lname,s.profile_pic from r_job_invitations i 
     LEFT JOIN tbl_students s ON i.email = s.student_email 
     where i.id_job = ".$jobID." and inv_res = 1"); 

//$studentResults = $studentQuery->fetch_assoc(); //total 8 students 
$totalIndividuals = mysqli_num_rows($studentQuery); //total 8 students 

$groups = 2 //which is coming from total/gd_individual 8/4=2 

for($j = 0; $j<$groups; $j++) { 

while($studentResults = $studentQuery->fetch_array()){ //total 8 studnets 

echo "INSERT INTO r_test_group 
     (student_id,job_id,group_name) 
     values (".$studentResults['student_pid'].", ".$jobID.",Group".$j.")"; 


      } 
     } 
     exit; 
    } 

私は

myresultは、私は何をこの

INSERT INTO r_test_group (student_id,job_id,group_name) values (22, 85,Group0) 
INSERT INTO r_test_group(student_id,job_id,group_name) values (23, 85,Group0) 
INSERT INTO r_test_group (student_id,job_id,group_name) values (25, 85,Group0) 
INSERT INTO r_test_group (student_id,job_id,group_name) values (26, 85,Group0) 
INSERT INTO r_test_group (student_id,job_id,group_name) values (27, 85,Group0) 
INSERT INTO r_test_group(student_id,job_id,group_name) values (28, 85,Group0) 
INSERT INTO r_test_group (student_id,job_id,group_name) values (29, 85,Group0) 

実際の結果のように来ます。.. group1とgroup2のなどとしての第2の4人の学生として、第一4人の生徒を保存したいです探しているのは最初の4つのスタッドはグループ1と 2番目の4グループ2など....

+0

あなたのPHPコードは、完全またはエラーです。 1行目のように ';'が不足しています。最初にこれを見てください。 – Twinfriends

+0

'$変数'を使って、各学生が4に達するまでそれを増やしてみましょう。最初のものが '1'で4になると(グループ#を表す)最初の' $変数'0にリセットする – mike510a

+0

なぜこれを '保存'するのですか?ちょうどその場でそれを計算する – Strawberry

答えて

1

はこれを試してみてください:

 $studentResults = $studentQuery->fetch_array(); 
    $counter = 0; 
    for($j = 0; $j<$groups; $j++) { 
    for($i = 0; $i<4; $i++){ 
    echo "INSERT INTO r_test_group 
      (student_id,job_id,group_name) 
      values (".$studentResults[$counter]['student_pid'].", ".$jobID.",Group".$j.")"; 
    $counter++; 
    } 
    } 
+0

not working .. '不正な文字列オフセット 'student_pid'はここにあります。$ studentResults [$ counter] ['student_pid']' –

+1

$ studentResults = $ studentQuery-> fetch_array(); $ studentResults = $ studentQuery-> fetch_assoc()を使用してください。 – Omi

+0

今、グループは分かれていますが、学生IDは来ていません。@Omi –