ดึงข้อมูลนักเรียนขึ้นมาแล้วเพิ่มคะแนนลงไปอีกตาราง แบบ insert ทีเดียวหลาย record รบกวนด้วยนะครับ
รบกวนขอคำแนะนำครับ
ผมมีปัญหาติดขัดตามนี้ครับ ผมดึงข้อมูลรายชื่อนักเรียนขึ้นมาจากฐานข้อมูลแล้วต้องการใส่
ข้อมูลลงไปในอีกตารางโดยเพิ่มคะแนนเข้าไป แต่ยังไม่มีอะไรเข้าไปในฐานข้อมูลเลยครับ
อีกตารางหนึ่งเก็บ รหัสนักศึกษา รหัสวิชา partที่สอบ และคะแนนครับ
ผมต้องการทำระบบดึงข้อมูลขึ้นมาจากฐานข้อมูลแบบนี้
โดยที่ code เป็นแบบนี้ครับ
Code (PHP)
<?php
$room = $_POST[room];
$con =mysql_connect ("localhost","root","root");
mysql_select_db("test",$con);
mysql_query("SET NAMES tis620");
$sql = "select * from student where stu_room = '$room' ";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
echo "$room มีรายชื่อนักเรียนทั้งหมด [ $num ] คน </font>";
?>
<?
$line = "$num";
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
while ($data = mysql_fetch_array($result) ) {
?>
<tr>
<td><input type="text" name="stu_id_student<?=$i;?>" size="10" value="<?php echo $data[stu_id_student]; ?>" readonly="readonly"></td>
<td><input type="text" name="stu_name<?=$i;?>" size="20" value="<?php echo $data[stu_name]; ?>" readonly="readonly"></td>
<td><input type="text" name="stu_lastname<?=$i;?>" size="20" value="<?php echo $data[stu_lastname]; ?>" readonly="readonly"></td>
<td><input type="text" name="e_grade<?=$i;?>" size="5"></td>
</tr>
<?
}//while
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?=$i;?>">
</form>
จากนั้นผมต้องการใส่คะแนนสอบลงไปที่ช่องคะแนนด้านขวามือ แล้วให้ save ลงไปในฐานข้อมูลอีกตัวครับ
ส่วนหน้า save ผมเขียนตามตัวอย่างใน PHP MySQL Add/Insert Multiple Record ของที่นี่แหละครับ
Code (PHP)
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
if($_POST["e_student_id$i"] != "")
{
$strSQL = "INSERT INTO rec ";
$strSQL .="(e_student_id,e_code_subject,e_grade,e_term) ";
$strSQL .="VALUES ";
$strSQL .="(','".$_POST["e_student_id$i"]."', ";
$strSQL .="'".$_POST["e_code_subject$i"]."' ";
$strSQL .=",'".$_POST["e_grade$i"]."','".$_POST["e_term$i"]."') ";
$objQuery = mysql_query($strSQL);
}
}
echo "Save Done.";
mysql_close($objConnect);
?>
ไม่ทราบว่าถามไม่รู้เรื่องรึเปล่า เอาเป็นประมาณว่า ดึงข้อมูลจากตารางแล้วเพิ่มข้อมูลไปอีกหนึ่งค่าเข้าไปอีกตารางนะครับ
แบบทีเดียวหลาย record รบกวนด้วยนะครับTag : PHP, MySQL
Date :
2011-05-12 16:22:51
By :
teerapuch
View :
3893
Reply :
2
หลักการก็ถูกน่ะครับ ว่าแต่ติดตรงไหนครับ
Date :
2011-05-12 21:44:47
By :
webmaster
ข้อมูลลงไปในฐานข้อมูลแค่ รายชื่อเดียวครับ ไม่ลงไปครบทั้งห้องครับ ไม่ทราบว่าใช้ for วน loop ผิดตรงไหนรึเปล่า
รบกวนด้วยนะครับ
Date :
2011-05-13 12:26:56
By :
teerapuch
Load balance : Server 03