ตั้งคำถามใหม่ รบกวนช่วยผมด้วยครับระบบตัวสุดท้ายของโปรเจคแล้ว เรื่องการเพิ่มข้อมูลหลาย Record

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ตั้งคำถามใหม่ รบกวนช่วยผมด้วยครับระบบตัวสุดท้ายของโปรเจคแล้ว เรื่องการเพิ่มข้อมูลหลาย Record

ตั้งคำถามใหม่ รบกวนช่วยผมด้วยครับระบบตัวสุดท้ายของโปรเจคแล้ว เรื่องการเพิ่มข้อมูลหลาย Record
จากเดิม https://www.ninenik.com/forum_view_2028_1.html

<?php
session_start();
//PUT THIS HEADER ON TOP OF EACH UNIQUE PAGE
if(!isset($_SESSION['id_user'])){
  header("location:index.php");

}


include_once('config.php');

$id_user = $_SESSION['id_user'];
$rn_first_name = $_POST['rn_first_name'];
$rn_last_name = $_POST['rn_last_name'];
$rn_gostart = $_POST['rn_gostart'];
$rn_endstart = $_POST['rn_endstart'];
$time_gostart = $_POST['time_gostart'];
$time_endstart = $_POST['time_endstart'];
$rn_tel = $_POST['rn_tel'];
$rn_amount = $_POST['rn_amount'];
$rn_svan = $_POST['rn_svan'];
$rn_destination = $_POST['rn_destination'];
$id_invoice = $_POST['id_invoice'];
$Status = $_POST['Status'];
$vn_dtial = $_POST['vn_dtial'];
$rn_place = $_POST['rn_place'];

$travellist_id = $_POST['travellist_id'];
$province_id = $_POST['province_id'];
$travel_id = $_POST['travel_id'];

$total = $_POST['total'];


// function date
$date_go = "$rn_gostart"; //กำหนดค้นวันที่เริ่ม
$date_end = "$rn_endstart"; //กำหนดค้นวันที่กลับ
$datetime1 = new DateTime($date_go);  
$datetime2 = new DateTime($date_end);  
$datetotal = $datetime1->diff($datetime2);  
$total= $datetotal->format('%a') * 1800;  //ผลการคำนวณ


$date = "$rn_gostart"; //กำหนดค้นวันที่

$result = mysqli_query($mysqli,"select * from vn_rent where rn_gostart = '$date'");
$ckd = mysqli_num_rows($result);


if($ckd >= 3){

$msg = "<div class='alert alert-danger'>
<span class='glyphicon glyphicon-info-sign'></span> &nbsp; วันที่จองเต็มแล้ว
</div>";
}else{

  
$sql = "INSERT INTO vn_rent (id_user,rn_first_name,rn_last_name,rn_gostart,rn_endstart,time_gostart,time_endstart,rn_tel,rn_amount,rn_svan,Status,vn_dtial,rn_place,rn_destination,total)
VALUES ('$id_user', '$rn_first_name',' $rn_last_name ','$rn_gostart','$rn_endstart','$time_gostart','$time_endstart','$rn_tel','$rn_amount','$rn_svan','$Status','$vn_dtial','$rn_place','$rn_destination','$total')";


//คำสั่ง insert  2 ตาราง
if ($mysqli->query($sql) === TRUE) {


     $id_van = $mysqli->insert_id;
   $mysqli->query("INSERT INTO invoice 
                   (id_user,id_van) 
              VALUE($id_user,  $id_van)");


    $id_invoice = $mysqli->insert_id;
    $mysqli->query("UPDATE vn_rent  
                    SET id_invoice = '$id_invoice' 
                 WHERE id_van = $id_van");


    $msg = "<div class ='alert alert-success alert-styled-left alert-arrow-left alert-bordered'>
      จองรถตู้สำเร็จ โปรดรอการตอบรับจากทางเจ้าหน้าที่</p> เลขที่รายการจอง <span class='text-warning'>".$id_van."</span> เลขที่ใบเสร็จ <span class='text-warning'>".$id_invoice."</span>
    
     </div>";

     header("refresh:5; url=history_booking.php");
} 



else {
    echo "Error: " . $sql . "<br>" . $mysqli->error;
}
}


$mysqli->close();




?>

อันนี้สำหรับหน้าฟรอมในส่วนเฉพาะที่ผมต้องการ insert ข้อมูลหลาย Record 

<input type="hidden" id="txtNum" value="1" size="2" />  
                <table border="0" width="100%">  
                  <thead>  
                    <tr>  
                      <th>  
                       <div class="row">  
                        <div class="col-md-10">  
                          <div class="form-group">  
                            <label class="display-block text-semibold"> จังหวัดที่ท่องเที่ยว</label>  
                            <select name="province_id[]" id="selProvince"  class="select-search">  
                              <option value="">กรุณาเลือกจังหวัด</option>  
                              <?php   
                              include("connect.inc.php");  
                              $SelectPr="SELECT * FROM province";  
                              $QueryPro=mysql_query($SelectPr);  
                              while($Pro=mysql_fetch_array($QueryPro)){  
                                ?>  
                                <option value="<?=$Pro['province_id']?>"><?=$Pro['province_name']?></option>  
                                <?php } ?>  
                              </select>  
                            </div>  
                          </div>  
                        </div>  
                      </th>  
                      <th>  
                        <div class="row">  
                          <div class="col-md-12">  
                            <div class="form-group">  
                              <label class="display-block text-semibold"> สถานที่ท่องเที่ยว</label>  
                              <select id="selTravel" name="travel_id[]" class="select-search"><option value="">กรุณาเลือกจังหวัด</option></select>  
                            </div>  
                          </div>  
                        </div>  
                      </div>  
                    </th>  
                    <th>  
                        
                    </th>  
                  </tr>  
                  <tr><td><center>รายการที่เพิ่ม</center></td></tr>  
                </thead>  
                <tbody>  
                    
                </tbody>  
              </table>  



ผมลองใช้ code นี้ ทำแบบแยก โดยไม่ได้เอาไปใส่ใน สวนของ ฟรอม insert ด้านบน ถ้าเลือกจังหวัดเดียว มันก็เข้าแค่อันเดียว แต่ถ้าเลือกหลายจังหวัด มันก็เพิ่มมาแค่ข้อมูลเดียวและ เป็น 0 

 

<?php
include "connect.inc.php";
if (isset($_POST['submit'])) {
    # code...
    include "connect.inc.php";
    $cars_string = implode(', ', $_POST['province_id']);
    $sql = 'INSERT INTO travel_list(province_id)VALUES("'. $cars_string .'")';
    mysql_query($sql) OR die(mysql_error());
    if ($sql) {
   
        echo "<script>alert('INSERT Successfully');</script>";

?>
<?php
    
    }

    else
    {

      echo "<script>alert('INSERT sssssss');</script>";

    }
}
 ?>


ระบบตัวสุดของโปรเจคจะเสร็จแล้วเหลือแค่ตัวนี้ ทำไม่ได้มา 2 วันแล้ว T_T  ช่วยด้วยครับพี่ 


Awordmart 171.97.170.xxx 24-06-2016 20:58:38

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

ผมลองเอาแยกมา insert เฉพาะ ตาราง travel_list

โดยใช้ code

 

<?php
include "connect.inc.php";

if (isset($_POST['submit'])) {
     echo $province_id = $_POST['province_id'][$i];
   echo  $province_id = $_POST['travel_id'][$i];

$i = 0;
foreach ($_POST as $val) {
  

    mysql_query("INSERT INTO travel_list (province_id, travel_id) VALUES ('$province_id', '$travel_id')");
$i++;
} 
}
 ?>

ข้อมูลเข้าครับแต่มันเข้าทีเดียวพร้อมกัน 5 อัน ทั้งที่ผมเลือกแค่ อันเดียว เช่นผมเลือก กรุงเทพ เลข id ของ กรุงเทพคือ 1 มันก็เข้ามาในรูปแบบ


ผมเอาเข้าเฉพาะ province_id

travellist_id
province_id
travel_id
id_van
1 1    
1 1    
1 1    
1 1    
 


ผมลองเลือกแบบ มี 2 รายการ

พอ insert ก็ได้แบบนี้ครับ ค่าเลือกส่งมาเป็น 0





awordmart 171.97.170.xxx 24-06-2016 22:21
 ความคิดเห็นที่ 2
  โค้ดที่ซับซ้อน จะยากต่อการแนะนำ เพราะจะต้องเข้าใจโดยรวม คงต้องลองแก้ปํญหาเอง

ส่วนการเพิ่มข้อมูลลงฐานข้อมูลแบบ array สามารถดูเนื้อหานี้เป็นแนวทางได้

การเพิ่ม ลบ แก้ไข ข้อมูล กับ รายการ clone() ด้วย jquery 
https://www.ninenik.com/content.php?arti_id=478 via @ninenik

ถ้าความหมายคือ การเพิ่มข้อมูล จากรายการที่เพิ่ม เข้าไปในฐานข้อมูล เมื่อกดปุ่ม add
ส่วนของข้อมูล รายการที่เพิ่ม ที่แสดงอยู่ ต้องมีฟอร์ม element สำหรับส่งค่าไป
และกำหนดชื่อในรูปแบบ array

ลองถามพี่ๆ ในเว็บนี้เพิ่มเติมดู จะมีหลายคนคอยช่วย ถ้าสิ่งที่เราถามเขาเข้าใจน่ะ
http://www.thaicreate.com/php/forum.html



ninenik 122.155.42.xxx 24-06-2016
 ความคิดเห็นที่ 3
ขอบคุณมากครับ ผมคงต้องหาจ้างทำตรงส่วนนี้แล้วครับ เวลาไม่จะไม่ทันแล้ว T_T


awordmart 124.120.226.xxx 24-06-2016 23:31
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ