2016-05-01 9 views
0

内の別のデータを取得するために、クエリに配列データを使用する方法は、私のPHPコードです:だからここにPHP

$checkProject1Column = "SELECT * FROM tbl_studentchoice WHERE Project1 = '1'"; 
$resultProject1Column = mysqli_query($conn, $checkProject1Column);  
    while($row = mysqli_fetch_assoc($resultProject1Column)) { 
      //Create an array of students 
      $array[] = ['studentid' => $row['studentid']]; 
    } 
    //check marks database 
    $checkmarks = "SELECT studentid,marks FROM tbl_marks"; 
    $checkResult = mysqli_query($conn, $checkmarks); 
    if ($checkResult->num_rows >= 0){ 
     while($row1 = mysqli_fetch_assoc($checkResult)){ 
      //Create an array of students 
      $array1[] = [ 
       'marks' => $row1['marks'], 
       'studentid' => $row1['studentid'] 
       ]; 
      } 
     print_r($array); 
     print_r($array1); 

だから私は、2つのデータベース・テーブルを持っています。 tbl_studentchoiceおよびtbl_marks。 私はProject1の列に値1を持つ学生の配列を作成しました。これは私のtbl_studentchoiceの様子です。

projtblです。

これで私にはstudentidの配列があります。私はこのようになります別のテーブル(tbl_marks)からこれらの学生のマークを取得したい:

marks

Project1値1とそのマークのみstudentidで新しい配列を作成します。だから基本的に私はこのような配列を作成したい:

Array ( 
    [0] => Array ( 
     [studentid] => c12558111 
     [marks] => 50 
    ) 
    [1] => Array ( 
     [studentid] => c12558112 
     [marks] => 60 
    ) 
) 
+0

のように1つのクエリを書くに参加すべきです。 '? – Amous

+0

実際には私のコードを編集できません –

答えて

4

なぜ2つの異なるクエリを使用していますか? あなたは重複 `$ resultProject1Column = mysqli_query($のCONN、$ checkProject1Column)のための理由があるテーブルはこれだけ

select s.*,m.marks 
    from tbl_studentchoice s, tbl_marks m 
    where s.studentid = m.studentid 
    and Project1 = '1' 

完全なコード

$query= "select s.*,m.marks 
    from tbl_studentchoice s, tbl_marks m 
    where s.studentid = m.studentid 
    and Project1 = '1'"; 
$result= mysqli_query($conn, $query);  
while($row = mysqli_fetch_assoc($result)) { 

    echo("<br/>Student ID = ".$row['studentid']); 
    echo("<br/>Student marks = ".$row['marks']); 
} 
+0

ありがとうございました。私はまだPHPに十分な経験がないので、あなたはそのようなクエリを行うことができるか分からなかった。あなたは私にそれを完全に理解していないクエリを説明することはできますか?私はアレイとその良いものを作って作りました。私はちょうどそのクエリをもう少し理解したい。 –

+0

これは、ある条件で2つのテーブルを結合する内部結合のようなものです。あなたの問題ではstudentidである1つの共通の列を持つ2つのテーブルがあります。したがって、このクエリはstudentidが同じ2つのテーブルのデータをマージします –

関連する問題