สอบถามการเรียกข้อมูลมาแสดง จากสองตารางใน ระบบข้อสอบ ออนไลน์หน่อยครับ ใกล้จะส่งแล้วเหลืออีก 1 สัปดาห์เอง
ผมทำแบบทดสอนออนไลน์ครับ ใกล้จะส่งแล้วเครียดมากเลย เข้าเรื่องเลยนะครับ
คือตอนนี้ผมต้องการจะดึง คำถาม ในตาราง question กับ คำตอบ ในตาราง Choice ออกมา
โดยที่ในตาราง Question ได้เก็บ ฟิว question_id(เก็บรหัสคำถาม), subject_id(เก็บรหัสวิชา รับค่ามาจากตารางSubject), question_text(เก็บคำถาม) ส่วนตาราง Choice เก็บข้อมูล choice_id, question_id, choice_text1, choice_text2, choice_text3, choice_text4, answer ผมได้ลองทั้งสั่ง query แยกแล้วข้อมูลก็ออกเพียงแค่ตาราง question ตารางเดียว
คำสั่งที่ผมใช้ในการ query
Code (PHP)
<?php
$sql="select * from question where subject_id='$_GET[subject_id]' ";
$query=mysql_query($sql) or die(mysql_error());
while($rs=mysql_fetch_array($query))
{
?>
<tr><td align="center" bgcolor="#FFFFF9"><?=$rs['question_text'];?></td></tr>
<?
}
?>
<?php
$sql="select * from choice where question_id='$_GET[question_id]' ";
$query=mysql_query($sql) or die(mysql_error());
while($rs=mysql_fetch_array($query))
{
?>
<tr><td align="center" bgcolor="#FFFFF9"><?=$rs['choice_text1'];?></td></tr>
<?
}
?>
ผมลองใช้สองครั้ง query 2 ครั้งเพื่อดึงข้อมูล สองตารางออกมา ก็ไม่ได้ นั่ง งมมาหลายวันแล้วครับ คือ ผมต้องการดึงออกมาในรูปแบบคำถามเช่น
ประเทศไทยมีกี่จังหวัด <== ดึงข้อมูลมาจาก ตาราง question
1.77 2. 78
3.75 4.79 <== พวกตัวเลือกทั้งหลายดึงมาจากตาราง Choice อ่ะครับ
รบกวนหน่อยนะครับ เครืยดมากเลย เหลืออีกไม่ถึงสัปดาห์ต้องส่งแล้วTag : PHP, HTML/CSS, JavaScript
Date :
2016-04-02 08:54:49
By :
tanakorn1537
View :
914
Reply :
3
Code (PHP)
<?php
$sql="select * from question where subject_id='$_GET[subject_id]' ";
$query=mysql_query($sql) or die(mysql_error());
while($rs=mysql_fetch_array($query))
{
?>
<tr><td align="center" bgcolor="#FFFFF9"><?=$rs['question_text'];?></td></tr>
<?
}
?>
<?php
$sql="select * from choice where question_id='$_GET[question_id]' ";
$query=mysql_query($sql) or die(mysql_error());
while($rs=mysql_fetch_array($query))
{
?>
<tr><td align="center" bgcolor="#FFFFF9"><?=$rs['choice_text1'];?></td></tr>
<?
}
?>
ดูจากการ query ของคุณแล้ว ตอน SELECT มันไม่มีอะไร สัมพันธ์กันเลยน่ะครับ
เหมือนมัน แยกกันเลยครับ
1. select วิชามา แล้วดูว่า ในวิชานั้น มีคำถามกี่ข้อ
2. เมื่อได้คำถามกี่ข้อมาเเล้ว ก็ เอา ID ของคำตามแต่ละข้อ มาวน select ต่อว่า มี choice อะไรบ้าง
Date :
2016-04-02 13:19:42
By :
Who am i
สู้ ๆ ๆ มีเวลาตั้ง 1 สัปดาห์
Date :
2016-04-04 10:11:42
By :
apisitp
ขอบคุณครับ ทำได้แล้วครับ ผมใช้อย่างนี้ครับ
Code (PHP)
<?php
$sql="SELECT question.*,choice.* FROM question,choice
WHERE question.question_id = choice.question_id
AND question.subject_id = '$subject_id'
order by RAND () LIMIT 10";
$query=mysql_query($sql) or die(mysql_error());
while($rs=mysql_fetch_array($query))
{
?>
<tr><td align="left" colspan="5" bgcolor="#99FF66">คำถาม <?=$rs['question_text'];?></td></tr>
<tr>
<td><input type="checkbox" name="choice_text1" align="middle" />
<?=$rs['choice_text1'];?></td>
<td><input type="checkbox" name="choice_text2" align="middle" />
<?=$rs['choice_text2'];?></td>
<tr>
<td><input type="checkbox" name="choice_text3" align="middle" />
<?=$rs['choice_text3'];?></td>
<td><input type="checkbox" name="choice_text4" align="middle" />
<?=$rs['choice_text4'];?></td></tr></tr>
<?
}
?>
แต่ตอนนี้ปัญหาคือ จะตรวจ คำตอบยังไง
ประวัติการแก้ไข 2016-04-04 12:39:47
Date :
2016-04-04 12:13:45
By :
tanakorn1537
Load balance : Server 03