Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > สอบถามการทำ insert และ update ลงฐานข้อมูลพร้อมกันครับ



 

สอบถามการทำ insert และ update ลงฐานข้อมูลพร้อมกันครับ

 



Topic : 125082



โพสกระทู้ ( 22 )
บทความ ( 0 )



สถานะออฟไลน์




สอบถามการทำ insert และ update พร้อมกันครับ พอดีกำลังทำเว็บขายสินค้า แล้วเวลาที่ลูกค้าไม่ได้ชำระเงินตามเวลาที่กำหนด ก็จะให้ระบบเปลี่ยนสถานะเป็นยกเลิกอัตโนมัตืครับ ซึ่งในโค้ดผมๆ ใช้คำสั่ง Insert การยกเลิกเข้าไปในตาราง order_cancel และใช้คำสั่ง Update เข้าไปปรับสถานะในตาราง order ครับ
ซึ่งจากที่ผมได้ทดสอบคือเมื่อเรากดเข้าไปในหน้าออร์เดอร์นั่้นมันจะ Insert ในตาราง order_cancel ก่อน แล้วต้องรีเฟรชจออีกรอบมันถึงจะ Update ปรับสถานะในตาราง order
ผมต้องการจะทำทั้งสองอย่างพร้อมกันโดยไม่ต้องรีเฟรชอีกรอบ ต้องแก้ไขอย่างไรดีครับ?

Code
<?php 
include_once("header.php"); 

?>  



</script>
<title>รายการสั่งซื้อ</title>

<body>
         
  <?php

 $perpage = 15;
 if (isset($_GET['page'])) {
 $page = $_GET['page'];
 } else {
 $page = 1;
 }    
 $start = ($page - 1) * $perpage;
  
$member_id = $_SESSION['member_id'];
    
    $search = "";
          
    if(isset($_POST["search_bt"])){        
    
    $search = $_POST["search"];  
    $type = $_POST["type"]; 
        if($search==""){
            echo "<script>alert('โปรดใส่ข้อมูลที่ต้องการค้นหา')</script>";
            echo "<script>window.location='member-orders.php'</script>";
        }elseif($type==""){
            echo "<script>alert('โปรดเลือกประเภทที่ต้องการค้นหา')</script>";
            echo "<script>window.location='member-orders.php'</script>";
        }    
        

     $select = "Select * From orders Where member_id='$member_id' and $type Like '%$search%' Order By order_id DESC";    
        
    }else{              
    
    $select = "Select * From orders Where member_id='$member_id' Order By order_id DESC Limit {$start} , {$perpage} ";  
    
    }
      
    $query = mysqli_query($link,$select) or die(mysqli_error($link));

 ?>
    
     <div class="container theme-showcase" role="main">
    <div class="row">
  <div class="">     
             
<FORM method="POST"> 

<div class="panel panel-mbrown">
    <div class="panel-heading">
        <h3 class="panel-title"><b><span class="glyphicon glyphicon-list-alt" aria-hidden="true"></span> รายการสั่งซื้อ</b></h3>
            <p align="right">
                <a href="profile.php" class="btn btn-default"><span class="glyphicon glyphicon-user" aria-hidden="true"></span> ไปหน้าโปรไฟล์</a></p>
    </div>
   
    
    
    <div class="table-responsive">
    <div>    
    <table class="table table-bordered table-striped table-hover" id="responsive-example-table" cellspacing="0">
      <thead>  
        <tr class="info_brown">
        <th width="100"><center>รหัสออร์เดอร์</center></th>    
        <th width="80"><center>สินค้าที่สั่งซื้อ</center></th>  
        <th width="100"><center>วันที่สั่งซื้อ</center></th>
        <th width=""><center>สถานะออร์เดอร์</center></th>
        <th width="100"><center>ใบสั่งซื้อ</center></th>    
        <th width="200"><center>การชำระเงินและการจัดส่ง</center></th>      
        <th width="140"><center>แจ้งยกเลิกสั่งซื้อ</center></th>   
        </tr>
      </thead>
    <tbody>

   <?php  
        function DateDiff($strDate1,$strDate2) //คำนวณเวลา
	 {
				return (strtotime($strDate2) - strtotime($strDate1))/  ( 60 * 60 * 24 );  // 1 day = 60*60*24
	 }
        
        while ($data = mysqli_fetch_array($query)) { 
     
    $p_status = "";     
    $status = $data['status'];
    $buy_date = $data['buy_date'];
    $today = date("Y-m-d H:i");
    $order_id = $data['order_id'];        
            

  $dayd = DateDiff("$buy_date","$today");
    
      if($status == "1"){
          $p_status = "รอการชำระเงิน";
      }elseif($status == "2"){
          $p_status = "ชำระเงินเรียบร้อย รอการจัดส่ง";
      }elseif($status == "3"){
          $p_status = "จัดส่งเรียบร้อย";
      }elseif($status == "4"){
          $p_status = "การสั่งซื้อถูกยกเลิกโดยลูกค้า"; 
      }elseif($status == "5"){
          $p_status = "การสั่งซื้อถูกยกเลิกเพราะเลยกำหนดชำระเงิน";
      }else{
      }
    
    
 
          ?>      
  <tr>
      
    <td><?php echo $order_id ;?></td>
      
    <td><center><a href="member-orders_detail.php?id=<?php echo md5(md5(md5($order_id))) ;?>" class="btn btn-sm btn-primary" target="_blank"><span class="glyphicon glyphicon-th-list" aria-hidden="true"></span> สินค้าที่สั่งซื้อ</a></center></td>   
      
    <td><center><?php echo $data['buy_date'];?><br>
        <?php //echo $dayd; 
            $statusz = "5";
            $cause = "2"; 
            $cancel_date = date("Y-m-d H:i:s"); 
            $admin_id = "1";
            
            if(($dayd>=7)and($status==1)){  //ไม่เกิน7วัน
                $last = $dayd-"7";
                //echo "เกินกำหนด7วัน "." (เกินมาแล้ว".number_format($last,0)."วัน)";
                
            $update = "Update orders Set status='$statusz' Where order_id=$order_id  ";
            mysqli_query($link,$update) or die(mysqli_error($link));
            
            $insert = "Insert Into order_cancel (cause,cancel_date,order_id,admin_id) Values ('$cause','$cancel_date','$order_id','$admin_id')";
            mysqli_query($link,$insert) or die(mysqli_error($link));
                
            }else{
                //echo "ยังไม่เกินกำหนด";
        }?>
        </center></td>
      
      
      
    <td><center><?php echo $p_status;?></center></td>
    
    <td><center><a href="order_paper.php?id=<?php echo md5(md5(md5($order_id))); ?>" class="btn btn-sm btn-info" target="_blank"><span class="glyphicon glyphicon-print" aria-hidden="true"></span> ปริ้นใบสั่งซื้อ</a></center></td> 
      
    <td><center><a href="member-orders_pay-ship.php?id=<?php echo md5(md5(md5($order_id))); ?>" class="btn btn-sm btn-primary" ><span class="glyphicon glyphicon-paste" aria-hidden="true"></span> การชำระเงิน และ<br><i class="fa fa-truck" aria-hidden="true"></i> การจัดส่ง</a></center></td>   
       
      <?php 
           
    
            $select1 = "Select orders.*, order_cancel.* From orders Inner Join order_cancel On order_cancel.order_id=orders.order_id Where orders.order_id = '$order_id '";
            $query1 = mysqli_query($link,$select1) or die(mysqli_error($link));
            $data1 = mysqli_fetch_array($query1); 
      ?>
    <td><center>
        <?php 
                 $cancel_date = $data1['cancel_date'];
                 if(($status == "2")or($status == "3")){
                     echo "ไม่มี";
                         
                 }elseif($cancel_date == ""){ ?> 
        
        <a href="member-orders_cancel.php?id=<?php echo md5(md5(md5($order_id)));?>" class="btn btn-sm btn-warning"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span> กดยกเลิก</a>
        
         <?php 
                  }else{
                      echo $data1['cancel_date'];
                  }?>
        </center></td>  
  </tr>
        
 <?php } ?>          
   
 
      </tbody>
    </table>
    </div></div></div>
           
 </FORM>
    
     </div></div></div>        
   
<?php mysqli_close($link); ?> 
    
  <!-- footer -->
<?php include_once("footer.php"); ?>

</body>

</html>





Tag : PHP, MySQL, HTML/CSS







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-10-24 12:10:16 By : no007 View : 4514 Reply : 9
 

 

No. 1



โพสกระทู้ ( 279 )
บทความ ( 0 )



สถานะออฟไลน์


เขียน trigger ไว้ที่ database ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-24 13:25:49 By : thesin18598
 


 

No. 2



โพสกระทู้ ( 22 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : thesin18598 เมื่อวันที่ 2016-10-24 13:25:49
รายละเอียดของการตอบ ::
ขอบคุณมากครับ เดียวผมจะลองศึกษาดูครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-25 00:33:46 By : no007
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

หรือไม่แทรกคำสั่งเช็คไฟล์ในไฟล์พวก config หรืออะไร ที่มันเรียกทำงานบ่อย ๆ ก็ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-25 11:57:09 By : mr.win
 


 

No. 4



โพสกระทู้ ( 22 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : mr.win เมื่อวันที่ 2016-10-25 11:57:09
รายละเอียดของการตอบ ::
ทำยังไงครับ พี่ช่วยยกตัวอย่างให้ได้ไหมครับ?

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-25 22:04:28 By : no007
 


 

No. 5



โพสกระทู้ ( 279 )
บทความ ( 0 )



สถานะออฟไลน์


ประมาณนี้น่าจะได้นะ ถ้า insert ได้ ก็ให้ update

Code (PHP)
$insert = "Insert Into order_cancel (cause,cancel_date,order_id,admin_id) Values ('$cause','$cancel_date','$order_id','$admin_id')";
$resule = mysqli_query($link,$insert);
if($resule){
               $update = "Update orders Set status='$statusz' Where order_id=$order_id  ";
                mysqli_query($link,$update) or die(mysqli_error($link));
}



ประวัติการแก้ไข
2016-10-26 07:54:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-26 07:50:17 By : thesin18598
 


 

No. 6



โพสกระทู้ ( 22 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : thesin18598 เมื่อวันที่ 2016-10-26 07:50:17
รายละเอียดของการตอบ ::
ลองแล้วครับ เหมือนเดิมครับ ต้องรีเฟรชสองรอบถึงจะเปลี่ยนสถานะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-26 08:38:29 By : no007
 


 

No. 7



โพสกระทู้ ( 279 )
บทความ ( 0 )



สถานะออฟไลน์


ลอง echo $insert; กับ echo $update; ตอนกดครั้งแรกมาดูก่อนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-26 08:50:30 By : thesin18598
 


 

No. 8



โพสกระทู้ ( 22 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : thesin18598 เมื่อวันที่ 2016-10-26 08:50:30
รายละเอียดของการตอบ ::
Insert Into order_cancel (cause,cancel_date,order_id,admin_id) Values ('2','2016-10-26 08:57:16','5','1')
Update orders Set status='5' Where order_id=5

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-26 08:58:53 By : no007
 


 

No. 9

Guest


Code (PHP)
...
$update = "Update orders Set status='$statusz' Where order_id=$order_id  ";
mysqli_query($link,$update) or die(mysqli_error($link));
 

$insert = "Insert Into order_cancel (cause,cancel_date,order_id,admin_id) Values ('$cause','$cancel_date','$order_id','$admin_id')";
mysqli_query($link,$insert) or die(mysqli_error($link));
$p_status = "การสั่งซื้อถูกยกเลิกเพราะเลยกำหนดชำระเงิน";
...

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-10-26 09:52:20 By : [email protected]
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามการทำ insert และ update ลงฐานข้อมูลพร้อมกันครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่