|
|
|
การแสดงผลข้อมูล ในกรณีที่เพิ่มข้อมูลมาใหม่ ในบางเรคคอร์ด แต่ผลลัพท์โชว์ในทุกเรคคอร์ด |
|
|
|
|
|
|
|
อันนี้เป็น code มือใหม่ ค่ะ (PHP)
while($row = mysql_fetch_array($objQuery)) {
?>
<tr>
<td><?= $row['id_student']; ?></td>
<td><?= $row['Name']; ?></td>
<td><? if ($row[sex_s]=="1"){
echo "ชาย";
} elseif($row[sex_s]=="2"){
echo "หญิง.";
}?>
</td>
<?
mysql_connect("localhost","root","12345");
mysql_select_db("db_screen");
mysql_query("SET NAMES UTF8");
$strSQL6 = "SELECT * FROM tb_parent";
$objQuery6 = mysql_query($strSQL6)
?>
<?
$row2 = mysql_fetch_array($objQuery6)
?>
<td><?= $row2['id_parent']; ?></td>
<td><?= $row2['name_pa']; ?></td>Code (PHP)
|
ประวัติการแก้ไข 2017-03-18 03:21:29 2017-03-18 03:22:23 2017-03-18 03:23:08
|
|
|
|
Date :
2017-03-18 03:19:40 |
By :
ta_ta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ข้อมูลนักเรียน กับ ข้อมูลผู้ปกครอง เก็บแยกคนละตารางใช่ไหมครับ แล้วได้เก็บ id อ้างอิงหรือเปล่าครับ
ว่าผู้ปกครองคนนี้เป็นผู้ปกครองของนักเรียนคนไหน วิธี SELECT ข้อมูลออกมาเพื่อให้ข้อมูลสองตาราง
สัมพันธ์กันแบบนี้ไม่ถูกต้องนะครับ ควรจะใช้วิธี JOIN ตารางเอาครับ
สาเหตุที่มันแสดงออกมาทุกเรคคอร์ดก็เพราะว่า query ตาราง tb_parent มันอยู่ใน while loop ของตารางนักเรียนครับ
มันเลยแสดงทุกเรคคอร์ดที่มีข้อมูลนักเรียน วิธีแก้ก็คือ ทำตามที่ผมแนะนำด้านบนครับ
|
ประวัติการแก้ไข 2017-03-18 08:36:04 2017-03-18 08:50:32
|
|
|
|
Date :
2017-03-18 08:30:29 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตามเม้นบนเลยคับ ต้องแยกเป็น 2 ตาราง และตารางที่เก็บข้อมูลพ่อแม่ ต้องมี id ของตารางนักเรียนอ้างอิงด้วย
1.ตาราง นักเรียน มีเลขประจำนักเรียนหรือเลขบัตรประชาชน เป็น key
2.ตาราง ผู้ปกครอง ต้องมีเลขประจำตัวพ่อแม่หรือเลขบัตรประชาชน และเลขประจำนักเรียนหรือเลขบัตรประชาชนอยู่ตารางนี้ด้วย
มีวิธีง่ายๆ ที่จะให้แสดงตามที่ต้องการ ในกรณีที่ผู้ปกครองต้องบันทึกมากกว่า 1 คน
1.ต้อง select ข้อมูลนักเรียนมาแสดงให้หมด
2. ใน loop ที่แสดงข้อมูลนักเรียน ให้นำ เลขประจำตัวนักเรียนหรือเลขบัตรประชาชน มา where ในตารางผู้ปกครองอีกทีหนึ่งหรือที่เรียกกันว่า
subquery
ในกรณีที่ 1:1 หรื่อ เด็กนักเรียน 1 คน จะต้องมีข้อมูลผู้ปกครอง 1 คน
ก็ทำการ join ตาราง หรือ left join ตารางนักเรียนกับผู้ปกครองปกติ
|
|
|
|
|
Date :
2017-03-18 09:12:16 |
By :
คนมีเสน่ห์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2017-03-18 22:54:08 |
By :
ta_ta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ ยังไม่ถูกต้องอ่ะครับ
ตาราง tb_parent ต้องเก็บรหัสนักเรียนด้วยครับ ไม่งั้นจะรู้ได้อย่างไรว่าเป็นผู้ปกครองของนักเรียนคนไหน
id_student ควรจะเป็น PK นะครับ ไม่ใช่ id_parent เพราะควรจะใช้ข้อมูลนักเรียนเป็นหลักครับ
|
|
|
|
|
Date :
2017-03-18 23:41:14 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
include ('config.php');
$strSQL ="SELECT * FROM tb_students a LEFT JOIN tb_parent b ON a.id_student = b.id_student ORDER BY a.id_student ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
mysql_query("SET NAMES UTF8");
while($row = mysql_fetch_array($objQuery)) {
?>
<tr>
<td><?= $row['id_student']; ?></td>
<td><?= $row['Name']; ?></td>
<td><? if ($row[sex_s]=="1"){
echo "ชาย";
} elseif($row[sex_s]=="2"){
echo "หญิง.";
}?>
</td>
<td><?= $row['id_parent']; ?></td>
<td><?= $row['name_pa']; ?></td>
<td>ปุ่มกดแก้ไข</td>
</tr>
|
|
|
|
|
Date :
2017-03-20 12:28:43 |
By :
tomrambo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2017-03-20 13:47:16 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เย้ ได้แล้ว ขอบคุณมาก ๆ เลยค่ะ [center][/center]
|
|
|
|
|
Date :
2017-03-21 00:10:57 |
By :
ta_ta |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|