|
|
|
รบกวนดูทีค่ะ รับค่าจาก checkbox แล้ว นำไป select โดยมีการใช้ LIKE เช่นค่า $a รับมาจาก check box คือ 50 นำไปเขียน sql |
|
|
|
|
|
|
|
ลองใช้คำสั่ง phpinfo(); เพื่อแสดงค่าตัวแปรทั้งหมดที่ได้รับมาดูครับ ว่าต้องใช้ตัวแปรชื่อว่าอะไรกันแน่ และแต่ละตัวที่ส่งมามีค่าอะไรบ้าง
|
|
|
|
|
Date :
2010-12-02 13:22:51 |
By :
limparty |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SELECT DISTINCT (SUBSTR(student_id,1,2)) AS stdID FROM student WHERE student_id = '$levelrg'
ลองแบบนี้ดูครับ แล้วก็ไม่ต้องใช้ like นะครับ ถ้าคุณใช้ like แล้วมันจะไปหา ข้อมูลที่มี 50 อยู่ เพราะถ้าเกิดข้อมูลเป็น 52501000 มันก็จะเอา 52501000 ขึ้นมาด้วย
|
|
|
|
|
Date :
2010-12-02 13:34:01 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองทำแบบคุณ KanJi แล้วค่ะ ค่าที่ได้ยังเป็น 0 อยู่เลยค่ะ แก้ตรงไหนดีอ่ะค่ะ
|
|
|
|
|
Date :
2010-12-02 13:47:00 |
By :
nuie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือที่เขียนอันนี้จุดประสงค์คือต้องการ หาว่ามีstudent_id ไหนบ้าง มีอักษร 2 ตัวแรก เท่ากับค่า checkbox ที่เลือกมาหน่ะค่ะ
เพราะต้องการนำ student_id เหล่านั้นเก็บเป็น array แล้วนำไปวนลูป insert หน่ะค่ะ จะต้องทำอย่างไรดีค่ะ งงมาก
ว่าทำไม แทนค่าด้วยเลข แล้วออกผลลัพธ์แต่แค่ใส่ตัวแปร กลับแสดงผลไม่ถูกต้อง T-T
|
|
|
|
|
Date :
2010-12-02 13:50:15 |
By :
nuie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน form ตรง action คุณยังไม่ได้กำหนดชื่อ page ให้มันเลยครับ แล้วก็ที่มันมีค่าเป็น 0 เพราะ ตัวแปร $levelrg มีค่าเท่ากับ $checkRight
ครับ ลอง echo $levelrg ออกมาดูครับ ว่ามีค่าหรือป่าว ถ้าเป็น 0 แสดงว่า ค่าที่ได้จาก $checkRight มันไม่มีค่าอยู่แล้วเพราะ
คุณไม่ได้ใส่ action ให้มันครับ
|
|
|
|
|
Date :
2010-12-02 13:59:03 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในโค้ดที่ลงที่ความเห็นแรก ใส่ไว้แล้วค่ะ ลอง echo ค่าของ $levelrg แล้วค่ะ พอลอง ติ๊ก checkbox 50 ก็ปรินซ์ค่าได้ 50 ค่ะ
ไม่ได้เป็น 0 อ่ะค่ะ T-T
|
|
|
|
|
Date :
2010-12-02 14:09:39 |
By :
nuie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนแบบไม่ต้อง loop ก็ได้
Code (PHP)
if(isset($HTTP_POST_VARS['Submit'])&&($HTTP_POST_VARS['Submit']=="สร้างแบบประเมิน"))
{
if(count($_POST['checkRight']) > 0){
$slinsert_rg = "SELECT count(student_id) as stucount FROM student WHERE substr(student_id,1,2) in ('". implode("','", $_POST['checkRight']) . "')";
$objsl = mysql_query($slinsert_rg) or die(mysql_error());
$objres3 = mysql_fetch_array($objsl);
$total_nu = $objres3["stucount"];
echo $total_nu; //แสดงค่าจำนวนแถวที่นับได้จากการรัน sql
}
}
|
|
|
|
|
Date :
2010-12-02 14:09:55 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็คุณประกาศ $_POST[''] ไว้นิครับ ถ้าไม่ใส่ action ให้มันแล้วมันก็ไม่รู้เหรกครับว่าจะส่งไปที่ไหน ลองกำหนด page ที่ต้องการให้ส่งค่าดูครับเดียวคุณก็จะเข้าใจเอง
|
ประวัติการแก้ไข 2010-12-02 14:13:47
|
|
|
|
Date :
2010-12-02 14:12:56 |
By :
kanchen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนคุณ PlaKrim อธิบายโค้ดตรงนี้
$slinsert_rg = "SELECT count(student_id) as stucount FROM student WHERE substr(student_id,1,2) in ('". implode("','", $_POST['checkRight']) . "')";
ได้ไหมค่ะ แอบงงค่ะ แต่รันออกมาได้ผลลัพธ์จำนวนแถวข้อมูลที่ถูกต้องแล้วอ่ะค่ะ
|
|
|
|
|
Date :
2010-12-02 14:23:07 |
By :
nuie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณคุณ KanJi มากนะ่ค่ะ นู่อาจเข้าใจผิดว่าไม่ต้องใส่ อิอิ แต่ตอนนี้ ออกแล้วค่ะ ลองนำโค้ดที่ คุณปลากริม ให้มาใส่ดูแล้วรันผล ได้จำนวนแถวข้อมูลเป็น 2 แล้วค่ะ แต่ว่ายังไม่สามารถให้มันวนลูปเก็บค่า student_id เป็นอาเรย์ได้เลยค่ะ เพราะหลักๆต้องการนำค่า student_id ที่ได้ทั้งหมดที่ตรงกับค่าของcheckbox ไปใช้หน่ะค่ะ มันหลายชั้นดีจัง ^-^
|
|
|
|
|
Date :
2010-12-02 14:26:31 |
By :
nuie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็เห็นอยากนับน้อ
Code (PHP)
if(isset($HTTP_POST_VARS['Submit'])&&($HTTP_POST_VARS['Submit']=="สร้างแบบประเมิน"))
{
if(count($_POST['checkRight']) > 0){
$slinsert_rg = "SELECT student_id FROM student WHERE substr(student_id,1,2) in ('". implode("','", $_POST['checkRight']) . "')";
$objsl = mysql_query($slinsert_rg) or die(mysql_error());
while($objres3 = mysql_fetch_array($objsl)){
echo "<br />".$objres3["student_id"];
}
}
}
|
|
|
|
|
Date :
2010-12-02 14:33:59 |
By :
PlaKriM |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แหะๆ อิอิ พี่ปลากริมก้ออ คือที่อยากนับอ่าค่ะเพราะว่า จริงๆแล้วนู๋เขียน โค้ดส่วน insert เพื่อรับค่าจากการจับ student_id ไว้แล้วหน่ะค่ะ
แต่ทำยังไงๆ มันก็ไม่เข้าลูปการ insert เลยสงสัย ลอง นับผลรันมันดูว่ามันนับจำนวนแถวได้จริงหรือเปล่า ปรากฎว่าได้ 0 เลยงานเข้าเลยค่ะ อิอิ
ขอบคุณอีกครั้งนะค่ะ เอาโค้ดไปแปะดูก่อน ^-^
|
|
|
|
|
Date :
2010-12-02 14:41:03 |
By :
nuie |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|