ผมผิดตรงใหนครับ ทำไม่มันไม่ Updateให้ผมครับ ช่วยด้วยครับ ไม่ Error และไม่มีอะไรเปลี่ยนแปลง
Code (PHP)
<?
//ถ้าเกิดทำการ Submit
if($_POST['Submit']=="ประเมิน"){
echo "<font color=\"red\">บันทึกเรียบร้อย</font>";
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE test_sub SET ";
$strSQL .="score1 = '".$_POST["score1$i"]."' ";
$strSQL .="score2 = '".$_POST["score2$i"]."' ";
$strSQL .="score3 = '".$_POST["score3$i"]."' ";
$strSQL .="score4 = '".$_POST["score4$i"]."' ";
$strSQL .="score5 = '".$_POST["score5$i"]."' ";
$strSQL .="score6 = '".$_POST["score6$i"]."' ";
$strSQL .="score7 = '".$_POST["score7$i"]."' ";
$strSQL .="score8 = '".$_POST["score8$i"]."' ";
$strSQL .="score9 = '".$_POST["score9$i"]."' ";
$strSQL .="score10 = '".$_POST["score10$i"]."' ";
$strSQL .="midterm = '".$_POST["midterm$i"]."' ";
$strSQL .="final = '".$_POST["final$i"]."' ";
$strSQL .="WHERE num_test = '".$_POST["num_test$i"]."' ";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
$strSQL = "SELECT test_sub.num_test,test_sub.Stu_ID, student.Stu_Name, student.Stu_LName, student.Stu_Clase, student.Stu_Room, test_sub.num_sub_id, subject_c.sub_id, subject_c.name_subject, subject_c.TeacherID, teacher.TeacherName, teacher.TeacherLName, test_sub.score1, test_sub.score2, test_sub.score3, test_sub.score4, test_sub.score5, test_sub.score6, test_sub.score7, test_sub.score8, test_sub.score9, test_sub.score10, test_sub.midterm, test_sub.final, test_sub.memo
FROM student INNER JOIN ((teacher INNER JOIN subject_c ON teacher.TeacherID = subject_c.TeacherID) INNER JOIN test_sub ON subject_c.num_sub_id = test_sub.num_sub_id) ON student.Stu_ID = test_sub.Stu_ID ORDER BY num_test ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
?>
Tag : PHP
Date :
2015-05-08 22:04:30
By :
wittayakorn1
View :
963
Reply :
19
โค้ดมีแค่นี้เหรอครับ และตัวอัปเดต ผมไม่เห็นสั่ง query ข้อมูลเลย
Date :
2015-05-09 07:00:37
By :
deawx
165.$strSQL = "UPDATE test_sub SET ";
166.$strSQL .="score1 = '".$_POST["score1$i"]."' ";
167.$strSQL .="score2 = '".$_POST["score2$i"]."' ";
168.$strSQL .="score3 = '".$_POST["score3$i"]."' ";
169.$strSQL .="score4 = '".$_POST["score4$i"]."' ";
170.$strSQL .="score5 = '".$_POST["score5$i"]."' ";
171.$strSQL .="score6 = '".$_POST["score6$i"]."' ";
172.$strSQL .="score7 = '".$_POST["score7$i"]."' ";
173.$strSQL .="score8 = '".$_POST["score8$i"]."' ";
174.$strSQL .="score9 = '".$_POST["score9$i"]."' ";
175.$strSQL .="score10 = '".$_POST["score10$i"]."' ";
176.$strSQL .="midterm = '".$_POST["midterm$i"]."' ";
177.$strSQL .="final = '".$_POST["final$i"]."' ";
178.$strSQL .="WHERE num_test = '".$_POST["num_test$i"]."' ";
179.
180.}
$strSQL ถูกประกาศ แต่ไม่ได้ถูกใช้ ด้วยคำสั่ง mysql_query( $strSQL);
ตาม คุณ deawx ว่าล่ะครับ
ดังนั้นจึงไม่เกิดผลอะไร
Date :
2015-05-09 10:34:47
By :
Chaidhanan
มันถูกแทนที่ด้วย ค่าใหม่ไปแล้ว คุณคิวรี่ ตัวแปรเดียวกัน 2 ครั้ง $strSQL
มันต้อง คิวรี่ ก่อน ตัวแปรจะโดนแทนที่ ด้วยค่าใหม่
คนตอบงง คนถามคงต้องไปศึกษาเรื่อง การกำหนดค่า และการใช้งาน ตัวแปรใหม่แล้วล่ะครับ
มันไม่อาจจำ 2 ค่าในเวลาเดียวกันได้ นะครับ
Date :
2015-05-09 15:06:48
By :
Chaidhanan
Code
<?
//ถ้าเกิดทำการ Submit
if($_POST['Submit']=="ประเมิน"){
echo "<font color=\"red\">บันทึกเรียบร้อย</font>";
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
$strSQL = "UPDATE test_sub SET "; // เริ่มต้นกำหนดตัวแปรสีแดง
$strSQL .="score1 = '".$_POST["score1$i"]."' ";
$strSQL .="score2 = '".$_POST["score2$i"]."' ";
$strSQL .="score3 = '".$_POST["score3$i"]."' ";
$strSQL .="score4 = '".$_POST["score4$i"]."' ";
$strSQL .="score5 = '".$_POST["score5$i"]."' ";
$strSQL .="score6 = '".$_POST["score6$i"]."' ";
$strSQL .="score7 = '".$_POST["score7$i"]."' ";
$strSQL .="score8 = '".$_POST["score8$i"]."' ";
$strSQL .="score9 = '".$_POST["score9$i"]."' ";
$strSQL .="score10 = '".$_POST["score10$i"]."' ";
$strSQL .="midterm = '".$_POST["midterm$i"]."' ";
$strSQL .="final = '".$_POST["final$i"]."' ";
$strSQL .="WHERE num_test = '".$_POST["num_test$i"]."' ";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
$strSQL = "SELECT test_sub.num_test,test_sub.Stu_ID, student.Stu_Name, student.Stu_LName, student.Stu_Clase, student.Stu_Room, test_sub.num_sub_id, subject_c.sub_id, subject_c.name_subject, subject_c.TeacherID, teacher.TeacherName, teacher.TeacherLName, test_sub.score1, test_sub.score2, test_sub.score3, test_sub.score4, test_sub.score5, test_sub.score6, test_sub.score7, test_sub.score8, test_sub.score9, test_sub.score10, test_sub.midterm, test_sub.final, test_sub.memo
FROM student INNER JOIN ((teacher INNER JOIN subject_c ON teacher.TeacherID = subject_c.TeacherID) INNER JOIN test_sub ON subject_c.num_sub_id = test_sub.num_sub_id) ON student.Stu_ID = test_sub.Stu_ID ORDER BY num_test ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
}
?>
ตัวแปร $strSQL สีแดง ถูกกำหนดค่า แต่ไม่ได้ดำเนินการคิวรี่ ผ่านคำสั่ง mysql_query
แล้วถูกเปลี่ยนค่า ตรง สีน้ำเงิน
ซึ่ง ตัวแปรสีแดงถูกกำหนดให้ update ไม่ทันได้ update ก็ถูกเปลี่ยนเป็น select
Date :
2015-05-09 19:58:53
By :
Chaidhanan
ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2015-05-09 19:58:53
รายละเอียดของการตอบ ::
ใช่ครับ ถูกต่ามที่ืท่านบอก แต่ เมื่อผมตัวตัวสีน้ำเงินออก มัน ออกมาแบบนั้ึครับ
Code (PHP)
Error Query [UPDATE test_sub SET score1 = '0' score2 = '0' score3 = '0' score4 = '0' score5 = '0' score6 = '0' score7 = '0' score8 = '0' score9 = '0' score10 = '0' midterm = '0' final = '0' WHERE num_test = '19380' ]
ที่ผมตัดออก
Code (PHP)
if($_POST['Submit']=="ประเมิน"){
echo "<font color=\"red\">บันทึกเรียบร้อย</font><br />
";
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
//echo " '".$_POST["score1$i"]."' '".$_POST["score2$i"]."' '".$_POST["score3$i"]."' '".$_POST["score4$i"]."' '".$_POST["score5$i"]."' '".$_POST["score6$i"]."' '".$_POST["score7$i"]."' '".$_POST["score8$i"]."' '".$_POST["score9$i"]."' '".$_POST["score10$i"]."' '".$_POST["midterm$i"]."' '".$_POST["final$i"]."' = '".$_POST["num_test$i"]."'<br />
//";
$strSQL = "UPDATE test_sub SET ";
$strSQL .="score1 = '".$_POST["score1$i"]."' ";
$strSQL .="score2 = '".$_POST["score2$i"]."' ";
$strSQL .="score3 = '".$_POST["score3$i"]."' ";
$strSQL .="score4 = '".$_POST["score4$i"]."' ";
$strSQL .="score5 = '".$_POST["score5$i"]."' ";
$strSQL .="score6 = '".$_POST["score6$i"]."' ";
$strSQL .="score7 = '".$_POST["score7$i"]."' ";
$strSQL .="score8 = '".$_POST["score8$i"]."' ";
$strSQL .="score9 = '".$_POST["score9$i"]."' ";
$strSQL .="score10 = '".$_POST["score10$i"]."' ";
$strSQL .="midterm = '".$_POST["midterm$i"]."' ";
$strSQL .="final = '".$_POST["final$i"]."' ";
$strSQL .="WHERE num_test = '".$_POST["num_test$i"]."' ";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
//$strSQL = "SELECT test_sub.num_test,test_sub.Stu_ID, student.Stu_Name, student.Stu_LName, student.Stu_Clase, student.Stu_Room, test_sub.num_sub_id, subject_c.sub_id, subject_c.name_subject, subject_c.TeacherID, teacher.TeacherName, teacher.TeacherLName, test_sub.score1, test_sub.score2, test_sub.score3, test_sub.score4, test_sub.score5, test_sub.score6, test_sub.score7, test_sub.score8, test_sub.score9, test_sub.score10, test_sub.midterm, test_sub.final, test_sub.memo
//FROM student INNER JOIN ((teacher INNER JOIN subject_c ON teacher.TeacherID = subject_c.TeacherID) INNER JOIN test_sub ON subject_c.num_sub_id = test_sub.num_sub_id) ON student.Stu_ID = test_sub.Stu_ID ORDER BY num_test ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
//mysql_query($strSQL);
}
?>
ย้ายขึ้นมาแบบนี้ก็ Error
Code (PHP)
$strSQL = "UPDATE test_sub SET ";
$strSQL .="score1 = '".$_POST["score1$i"]."' ";
$strSQL .="score2 = '".$_POST["score2$i"]."' ";
$strSQL .="score3 = '".$_POST["score3$i"]."' ";
$strSQL .="score4 = '".$_POST["score4$i"]."' ";
$strSQL .="score5 = '".$_POST["score5$i"]."' ";
$strSQL .="score6 = '".$_POST["score6$i"]."' ";
$strSQL .="score7 = '".$_POST["score7$i"]."' ";
$strSQL .="score8 = '".$_POST["score8$i"]."' ";
$strSQL .="score9 = '".$_POST["score9$i"]."' ";
$strSQL .="score10 = '".$_POST["score10$i"]."' ";
$strSQL .="midterm = '".$_POST["midterm$i"]."' ";
$strSQL .="final = '".$_POST["final$i"]."' ";
$strSQL .="WHERE num_test = '".$_POST["num_test$i"]."' ";
$objQuery = mysql_query($strSQL)or die ("Error Query [".$strSQL."]");
ประวัติการแก้ไข 2015-05-09 23:19:51 2015-05-09 23:41:46
Date :
2015-05-09 23:17:18
By :
wittayakorn1
ได้แล้วครับ ผมลืมใส่ , หน้า score... ครับ งมตั้งนานขอบคุณทุกท่านมากครับ
Date :
2015-05-09 23:56:02
By :
wittayakorn1
Code (PHP)
$strSQL = "UPDATE test_sub SET ";
$strSQL .="score1 = '".$_POST["score1$i"]."' ";
$strSQL .=",score2 = '".$_POST["score2$i"]."' ";
$strSQL .=",score3 = '".$_POST["score3$i"]."' ";
$strSQL .=",score4 = '".$_POST["score4$i"]."' ";
$strSQL .=",score5 = '".$_POST["score5$i"]."' ";
$strSQL .=",score6 = '".$_POST["score6$i"]."' ";
$strSQL .=",score7 = '".$_POST["score7$i"]."' ";
$strSQL .=",score8 = '".$_POST["score8$i"]."' ";
$strSQL .=",score9 = '".$_POST["score9$i"]."' ";
$strSQL .=",score10 = '".$_POST["score10$i"]."' ";
$strSQL .=",midterm = '".$_POST["midterm$i"]."' ";
$strSQL .=",final = '".$_POST["final$i"]."' ";
$strSQL .="WHERE num_test = '".$_POST["num_test$i"]."' ";
$objQuery = mysql_query($strSQL)or die ("Error Query [".$strSQL."]");
Date :
2015-05-09 23:57:47
By :
wittayakorn1
Date :
2015-05-10 00:11:28
By :
LAGO
$objQuery = mysql_query($strSQL)or die ("Error Query [".$strSQL."]" . "<br>" . mysql_error() );
เพิ่มสีน้ำเงินเข้าไปหน่อยครับ จะได้รู้ว่า เออเร่อร์ อะไร หาง่ายขึ้น
Date :
2015-05-10 03:53:08
By :
Chaidhanan
ใช้ sum group by จากไอดีก็ได้ครับ
กระทู้เก่าๆมีเยอะครับ พวกผลรวมต่างๆ
Date :
2015-05-10 13:21:00
By :
LAGO
ถ้าไม่คิดมาก ใส่ + เข้าไป ก็หมดเรื่องแล้วครับ ( sc1 + sc2 + sc3 ..... final) total
เมื่อมันอยู่ record เดียวกัน ก็ว่าไปตรงๆ เลยครับ
Date :
2015-05-10 13:58:02
By :
Chaidhanan
ได้แล้วครับ ทำอย่างที่พี่ Chaidhanan แนะนำ ง่ายดี
ขอบคุณทุกท่านมากครับ งานนี้จะเป็นประโยชน์กับโรงเรียนอย่างมากครับ
Date :
2015-05-10 14:33:28
By :
wittayakorn1
Load balance : Server 00