วันพุธที่ 17 ตุลาคม พ.ศ. 2561

mysql_fetch_array หรือ mysql_fetch_assoc เรียกครั้งที่ 2 ไม่ทำงาน

ผมมี Code ดังนี้ครับ 

<?php do { 
 do { ?>
<?php //echo $row_sdq_qusetion['q_no']; ?>
<?php //echo $row_sdq_qusetion['q_ark']; ?>
<?php //echo $row_sdq_qusetion['q_type']; ?>
<?php //echo $row_sdq_qusetion['not_true']; ?>
<?php //echo $row_sdq_qusetion['quite_true']; ?>
<?php //echo $row_sdq_qusetion['true']; ?>
<?php } while ($row_sdq_qusetion = mysql_fetch_array($sdq_qusetion)); ?>
<?php } while ($row_question_type = mysql_fetch_assoc($question_type)); ?>

คือการ ใช้ while ซ้อนกัน 2 รอบ ปรากฏว่า while ตัวในทำงานแค่รอบเดียว

วิธีแก้ไข ให้เพิ่ม mysql_data_seek ($result0);  เข้าไปใน while ที่มีการทำซ้ำ mysql_fetch_array หรือ mysql_fetch_assoc ดังตัวอย่าง
<?php do { 
 do { ?>
<?php //echo $row_sdq_qusetion['q_no']; ?>
<?php //echo $row_sdq_qusetion['q_ark']; ?>
<?php //echo $row_sdq_qusetion['q_type']; ?>
<?php //echo $row_sdq_qusetion['not_true']; ?>
<?php //echo $row_sdq_qusetion['quite_true']; ?>
<?php //echo $row_sdq_qusetion['true']; ?>
<?php } while ($row_sdq_qusetion = mysql_fetch_array($sdq_qusetion)); ?>
<? mysql_data_seek ($sdq_qusetion, 0); ?> // เพิ่มบรรทัดนี้ 
<?php } while ($row_question_type = mysql_fetch_assoc($question_type)); ?>

ก็จะสามารถทำซ้ำได้ครับ 

ความต้องการพื้นฐานของระบบ (System Requirements) ระบบทำความดีนักเรียน

 สมมุติให้นักเรียนเป็นประธานรักเรียน นักเรียนมีความต้องการจะส่งเสริมเพื่อนนักเรียนในการทำความดี จึงคิดจะพัฒนาระบบเก็บข้อมูลความดี เพื่อประเม...