การ insert นะคับ

คือตอนนี้ผม insert ข้อมูลลงได้แต่ช่องที่เราไม่ได้กรอกข้อมูลไม่ให้ลงในฐานข้อมูลจะเช็คค่ายังไงคับ

$str=array($_POST['top_name'],$_POST['top_name2'],$_POST['top_name3'],$_POST['top_name4'],$_POST['top_name5']);
 
 
 for($i=0;$i<count($str);$i++){

//***********************การสร้าง Auto สำหรับการเพิ่มข้อมูล
 $SQLauto="SELECT MAX(top_id) AS top_id FROM tb_topic";
 $rs=$db->Execute ($SQLauto) ;
 $result=$rs->fields;
 $MaxID1=$result['top_id'];
 $MaxID2=$MaxID1+1;

if(isset($_POST['addtopic'])){

$SQL="insert into tb_topic (top_id,top_name,group_id,userupdate,lastupdate) values (".$db->Quote($MaxID2).",".$db->Quote($str[$i]).",".$db->Quote($group_id).",".$db->Quote($semp_id).",".$datenownew.")";

if($db->Execute ($SQL)){
     echo"<script>
     alert(\"บันทึกข้อมูลเรียบร้อย\");</script>";
     }else{
      echo"<script>
      alert(\"บันทึกข้อมูลไม่สำเร็จ\");
        window.location='../topic/show_topic.php';</script>
";
     }
   }
}

22 มี.ค. 2553 1 1,448

ผมก็ไม่รู้ว่าออกแบบไว้ยังไงนะ จะตอบก็คงไม่ตรงนัก ปัญหาแบบนี้มันอยู่ที่เทคนิคของแต่ละคนว่าใช้วิธีอะไรในการจัดการแสดงผล

1.การแสดงผล เมื่อมีข้อผิดพลาด (หรือไม่ได้กรอกข้อมูล)
2.การแสดงผล เมื่อทำงานเรียบร้อย

แนวคิดจริงๆ มันก็อยู่ที่การออกแบบการแสดงผลนั่นแหละ ว่ามีข้อกำหนดอย่างไร

หลักการก็คือ ตรวจสอบว่ามีการส่งค่า มาหรือไม่ ถ้าไม่มี ก็ไปแสดงผลข้อความผิดพลาด

ควรจะทำความเข้าใจแนวคิดก่อน ซึ่งแนวคิดทั่วๆ ไป ก็ตรงไปตรงมา เสร็จแล้วก็เอาแนวคิดมาเขียนเป็นโค้ด

การตรวจสอบว่ามีการกรอกข้อมูลหรือไม่ หลังจาก submit แล้ว (ที่ PHP) โดยปกติก็แค่ตรวจว่ามันเป็นค่าว่างหรือไม่

<?php
  if ($_POST['top_name'] == ''){
    // ไม่ได้กรอกมา เขียนโค้ดเพื่อแสดงข้อผิดพลาดที่นี่
  } else {
    // เขียนโค้ดเพื่อบันทึกข้อมูลที่นี่
  }
?>

ถ้าจะสังเกตุ จะเห็นว่าโค้ดก็ตรงไปตรงมา เป็นไปตามแนวคิด ส่วนจะนำไปประยุกต์ใช้อย่างไร ก็อยู่ที่ทำความเข้าใจได้หรือเปล่า ถ้าเข้าใจ ก็จะประยุกต์ได้ไม่ยาก
#1
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^