私のデータベースには次のテーブルがあります。テーブルmidterm
とfinalterm
には生徒のマークが含まれています。Codeigniter:3つのテーブルから生徒結果シートを生成
今、私は次のような単一ページ内のすべての学生の印シートを表示したい:
私は、単一のテーブルにクエリを実行する方法を知っているが、私は問題に直面していますこの場合には3つのテーブルがあります。
私はCodeigniterを使用しています。私のモデルとビューファイルにコードするものを教えてください。事前に
感謝:)
これは私のコントローラである:更新
$this->load->model('Mod_student');
$data['records1']= $this->Mod_student->check1();
$this->load->view('view_student',$data);
一部
は、これが私の見解です:
<?php if(count($records1) > 0) { ?>
<?php foreach ($records1 as $row){ ?>
<table>
<tr> <td><?php echo $row['StudentName']; ?></td></tr>
<tr>
<td><?php $midDate = explode(',',$row['MidDate']);
foreach($midDate as $md)
{
echo $md;
echo '<br />' ;
}
?>
</td>
<td><?php $midDate = explode(',',$row['MidSubject']);
foreach($midDate as $md)
{
echo $md;
echo '<br />' ;
}
?>
</td>
<td><?php $midDate = explode(',',$row['MidMarks']);
foreach($midDate as $md)
{
echo $md;
echo '<br />' ;
}
?>
</td>
</tr>
</table>
<?php } ?>
<?php } else { echo "No Record Found";} ?>
私は私のビューファイルを変更したと今それはうまく動作しています:)しかし、私は直面しているいくつかの問題があります。私は上記のスクリプトを実行する場合は、あなたが私のテーブルmidterm
に気付いた場合、私は次の出力に
を取得し、あなたは、そのid
ある3学生は英語と数学の両方で同じマークを持っていることがわかります。しかし、私の出力では、中央の1つのサブジェクトに対してのみマークが表示されます。それはあなたの質問にdistinct
を使用したので起きていますか?私は別名を削除しようとしましたが、正確なデータは表示されません。
問題を解決する方法を教えてください。
もう一度お世話になりました:)
おかげで再びこの
とグループ連結方式の項目フォームクエリと同様。私はあなたのスクリプトを試しましたが、私はそれを動作させることができませんでした、おそらく、私のビューファイル内のスクリプトにいくつかの問題があります。上記の私の記事の編集部分を親切に見てください。私はコントローラとビューファイルのスクリプトを投稿しました。もう一度ありがとうございます:) –
私は新しいこと(group_concat)を教えてくれてありがとうございました。以前はそれについて考えていませんでした。おかげでたくさんの人になりました:) –
codeigniterに関連する質問がある場合にも私の編集を参照してくださいactiverecordあなたが私に納得できると思うなら、私は解決して投票してほしいと教えてください –