รบกวนขอคำแนะนำ จะให้แสดงข้อมูลที่บันทึกไว้ใน radio โดยใช้ loop for
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา รบกวนขอคำแนะนำ จะให้แสดงข้อมูลที่บันทึกไว้ใน radio โดยใช้ loop for
รบกวนขอคำแนะนำ จะให้แสดงข้อมูลที่บันทึกไว้ใน radio โดยใช้ loop for
$sql_sdq="SELECT evaluate_date, choice1, choice2, choice3, choice4, choice5, choice6, choice7, choice8, choice9, choice10, choice11, choice12, choice13, choice14, choice15, choice16, choice17, choice18, choice19, choice20, choice21, choice22, choice23, choice24, choice25, choice26, choice27, choice28, choice29, choice30, choice31, choice32, choice33,evaluate_type,evaluate_note,spent_hour,relation
FROM evaluate_sdq WHERE student_id='$_GET[student_id]' AND evaluate_type='$type' LIMIT 1";
$query=dbQuery($sql_sdq);echo $sql_sdq;
$row = dbFetchObject($query);
for($i=1;$i<=25;$i++){
switch ($i) {
case 1 :$choice='ใส่ใจความรู้สึกของผู้อื่น';
$point1=0; $point2=1; $point3=2;
break;
case 2 :$choice='อยู่ไม่สุข เคลื่อนไหวมาก ไม่สามารถอยู่นิ่งได้นาน';
$point1=0; $point2=1; $point3=2;
break;
default :
}
<input type="radio" name="choice1" value="0" style="height:20px; width:20px;" required class="form-check-input"/>
<?php }?>
ผมเขียนแสดงคำถามประเมินไว้ 25 ข้อ พอประเมินแล้ว จะให้แสดงค่าที่เลือกไว้ในเรดิโอ ของรหัสเด็กที่รับค่ามา
<input type="radio" name="choice1" value="0" style="height:20px; width:20px;" required class="form-check-input"/>
<?php }?>
ผมเขียนแสดงคำถามประเมินไว้ 25 ข้อ พอประเมินแล้ว จะให้แสดงค่าที่เลือกไว้ในเรดิโอ ของรหัสเด็กที่รับค่ามา
คือถ้าไม่ใช้ loop for วนแสดงคำถาม เขียนระบุไปเป็นข้อๆเลย 25 ข้อ ก็แสดงได้ตามปกติ แต่มาวนแสดงคำถาม ก็เลยงงๆ รบกวนขอคำแนะนำด้วยครับ

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
เราควรเก็บค่าเป็นตัวเลข อ้างอิงแทนน่าจะเหมาะสมกว่า ตอนบันทึกข้อมูล
และก็สามารถบันทึกเป็นฟิลด์เดียวได้
เช่น 1 เป็น ใส่ใจความรู้สึกของผู้อื่น และ 2 เป็น อยู่ไม่สุข เคลื่อนไหวมาก ไม่สามารถอยู่นิ่งได้นาน
สมมติเช่น มี 5 ข้อ เราก็เก็บค่าเป็น
11212
เวลานำมาใช้ เราก็แยกแต่ละค่าเป็น array เช่นอาจใช้ str_split
1 2 3 | $choice = "11211" ; $arr_choice = str_split ( $choice ); // ตอนเรียกใช้ print_r( $arr_choice ); |
1 2 3 4 5 6 7 8 | Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 1 [4] => 1 ) |
ส่วนวิธีการแสดง ถ้าจากโค้ด ก็ลองใช้เป้น ต่อ string อ้างอิงฟิลด์ น่าจะได้ เพราะรูปแบบฟิลด์ก็สัมพันธ์กับ
ตัวเลขวนลูป โดยเราก็วนลูปปกติ ส่วนค่าจากฟิลด์ ก็ใช้เป็น
1 | $row [ 'choice' . $i ] |

ความคิดเห็นที่
2
$row
[
'choice'
.
$i
] พอจะเห็นแนวทางเลยครับ ขอบคุณมากครับ

ความคิดเห็นที่
3
แต่จะไปลอง str_split ด้วย ขอบคุณอีกครั้งครับ

ความคิดเห็นที่
4
ทำได้แล้วครับ
ทั้งแบบนี้ $row
[
'choice'
.
$i
]
และใช้ str_split
$score=array();
for($i=0;$i<=52;$i++){
$score=str_split($row->evaluate_score);
}
เวลาเช็คกับเรดิโอก็ if ($score[$i]==$point1)echo 'checked';
}
เวลาเช็คกับเรดิโอก็ if ($score[$i]==$point1)echo 'checked';
สุดยอดมากได้ เงินเดือนขึ้นแน่เลย 555
ขอบคุณคุณนิคมากเลย ช่วยชีวิตผมอีกแล้ว

ขอบคุณทุกการสนับสนุน
![]()