สอบถามเรื่องการใช้ checkbox แบบ array

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ny2003
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 25/12/2017 3:23 am

สอบถามเรื่องการใช้ checkbox แบบ array

โพสต์โดย ny2003 » 25/12/2017 3:48 am

เป็นcheckboxแบบที่อาจารย์เช็คอ่ะค่ะ พอเราติ้กตรงชื่อนักเรียนแล้วกด submit จะส่งค่าที่ติ้กไปใช้ในการ insert เวลาในการเข้าเรียน แต่งงตรงการ insert เพราะต้องการเพิ่มข้อมูล id ของนักเรียนแต่ละคนตามที่เราติ้กด้วยอ่ะค่ะ แล้ว id ตรงนี้จะเพิ่มด้วยอะไรใน VALUE คะ? $sql1=" INSERT INTO learn ('id_learn','check_time','id_s') VALUE (NULL,$date_time, :?: )"; งงว่ามันจะทำงานยังไง เพิ่มข้อมูลตาม id ยังไง เพราะเราไม่ได้เอาค่าตามการ login แต่เป็นค่าตาม checkbox(ตามความเข้าใจของเรา)


โค้ด: เลือกทั้งหมด

 $sql = "SELECT student.id_s,student.firstname_s,student.lastname_s,student.nickname_s,orderdetail.id_course,orderdetail.id_sec FROM student INNER JOIN orderdetail ON student.id_s = orderdetail.id_s WHERE orderdetail.id_sec=1301" ;
              $query = mysqli_query($dbcon, $sql);

        $re= mysqli_query($dbcon, $sql);
        $num_rows= mysqli_num_rows($re);
        echo "<br><br>ค้นพบข้อมูลทั้งหมด $num_rows record<br><br>";
       
        if($num_rows>0){
     
 while ($row = mysqli_fetch_row($re)) {

         echo "<tr>";
     echo "<th scope=row>$row[0]</th>";
     
     echo "<td>$row[1]</td>";
     echo "<td>$row[2]</td>";
     echo "<td>$row[3]</td>";
     echo "<td>$row[4]</td>";
     echo "<td>$row[5]</td>"; ?>
   
  <td><input type="checkbox" name="check[]" value=<?php $row[0]?>></td>
     
      <?PHP
      echo "</tr>";
   
      }
       
         } 
             
         
        ?>
       </tbody>
    </table>
<input type="submit" name="submit" value="submit">
      <?php
  if(isset($_POST['submit'])){
       date_default_timezone_set("Asia/Bangkok");
      $date_time=date("Y-m-d H:i:s");
      $sql1=" INSERT INTO learn ('id_learn','check_time','id_s') VALUE (NULL,$date_time,??)";
  }



แนะนำด้วยค่ะ :cry:

ภาพประจำตัวสมาชิก
THCodingFree
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 25/12/2017 7:34 pm
ติดต่อ:

Re: สอบถามเรื่องการใช้ checkbox แบบ array

โพสต์โดย THCodingFree » 25/12/2017 8:10 pm

แก้ไข 2 จุดครับ
---- HTML----
<input type="checkbox" name="check[<?php $row[0]?>]" value="1">


---- PHP -----
$arr = $_POST['check'];
foreach ($arr as $key => $value) {
//echo "Key: $key; Value: $value<br />\n";
$numID = "0";
if( $arr[$key]=="1" ){
$numID = "1";
}

$sql1=" INSERT INTO learn ('id_learn','check_time','id_s') VALUE (NULL,$date_time,$numID)";

}

พอจะเข้าใจคอนเซ็ปไหมครับ

ny2003
PHP Newbie
PHP Newbie
โพสต์: 2
ลงทะเบียนเมื่อ: 25/12/2017 3:23 am

Re: สอบถามเรื่องการใช้ checkbox แบบ array

โพสต์โดย ny2003 » 26/12/2017 3:26 pm

เข้าใจค่ะ แต่สงสัยว่าจำเป็นต้อง if(isset($_POST['submit'])) มั้ยคะ? คืออยากให้ติ้กนักเรียนครบแล้วกดปุ่มค่ามันถึงจะเพิ่ม แล้วจำเป็นต้องทำ form เพื่อให้มี method=post ไหมคะ? ถ้ามีคือไม่รู้จะแทรกตรงไหนเพราะส่วนของการแสดงผลเราทำเป็นลูป พอใส่แล้วมันก็ขึ้นเป็นสีแดงๆไม่ใช่สีเหลืองครอบคำว่า form

ภาพประจำตัวสมาชิก
THCodingFree
PHP Newbie
PHP Newbie
โพสต์: 5
ลงทะเบียนเมื่อ: 25/12/2017 7:34 pm
ติดต่อ:

Re: สอบถามเรื่องการใช้ checkbox แบบ array

โพสต์โดย THCodingFree » 27/12/2017 5:39 pm

ผมตอบตามที่ถามนะ ผมไม่เห็น Code ทั้งหมด

แต่สงสัยว่าจำเป็นต้อง if(isset($_POST['submit'])) มั้ยคะ?
- อันนี้ตรวจสอบว่า ได้ submit form มาไหม

คืออยากให้ติ้กนักเรียนครบแล้วกดปุ่มค่ามันถึงจะเพิ่ม
- ใช้ JavaScript ตรวจสอบ Form

แล้วจำเป็นต้องทำ form เพื่อให้มี method=post ไหมคะ?
- form มี 2 method คือ GET กะ POST เป็นการกำหนดรูปแบบการส่งข้อมูล

ถ้ามีคือไม่รู้จะแทรกตรงไหนเพราะส่วนของการแสดงผลเราทำเป็นลูป พอใส่แล้วมันก็ขึ้นเป็นสีแดงๆไม่ใช่สีเหลืองครอบคำว่า form
<form action="" method="post">
....
....
</form>

ถ้ายัง งงๆอยู่ ถามในเพจผมได้ครับ จะตอบง่ายกว่านี้ [url]fb.me/THCoding[/url]


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 20 และ บุคคลทั่วไป 0 ท่าน