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 > ขออนุญาติสอบถามการ ตัดสต๊อคสินค้า โดยใช้ พารามิเตอร์ครับ



 

ขออนุญาติสอบถามการ ตัดสต๊อคสินค้า โดยใช้ พารามิเตอร์ครับ

 



Topic : 129453



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



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




สวัสดีครับ ขออนุญาติสอบถามการ ตัดสต๊อคสินค้า โดยใช้ พารามิเตอร์ครับ

พอดีผมค่อนข้างสับสนในการใช้พารามิเตอร์ครับ

ผมอยากจะให้ระบบสามารถตัดจำนวนสินค้าในสต๊อกตามยอดที่มีลูกค้าสั่งซื้อน่ะครับ
ได้ออกแบบดาต้าเบสไว้

lotto_product :

product_id เก็บรหัสสินค้า
product_name เก็บชื่อสินค้า
product_detail รายละเอียดสินค้า
product_price เก็บราคาสินค้า
product_group เก็บหมวดหมู่สินค้า
thumbmail เก็บรูปภาพ
item เก็บจำนวนสินค้าในสต๊อก


lotto_orderdetail :

detail_id เก็บอ้างอิงรหัสใบสั่งซื้อ
order_id เก็บอ้างอิงรายการสั่งซื้อสินค้า
product_id เก็บอ้างอิงรหัสสินค้า
product_qty เก็บจำนวนสินค้าที่ซื้อ
total เก็บราคาสินค้า



หน้า cart .php จะเป็นการแสดงสินค้าในตระกร้าเเละมีจำนวนสินค้า สามารถเพิ่มได้ลดได้ครับ

cart .php
Code (PHP)
<div class="container cart">
<?php
    // if (!isset($_SESSION['is_member'])) {
    //   header("Location: module.php?module=member&file=login");
    // }
    error_reporting( error_reporting() & ~E_NOTICE );
    $p_id = $_REQUEST['product_id'];//รับการเรียกของ id
    $act = $_REQUEST['act'];//รับการเรียกของ act

      if($act=='add' && !empty($p_id)) {
  		if(!isset($_SESSION['shopping_cart']))
  		{

  			$_SESSION['shopping_cart']=array();
  		}else{

  		}
  		if(isset($_SESSION['shopping_cart'][$p_id])) {
  			$_SESSION['shopping_cart'][$p_id]++;
  		}else {
  			$_SESSION['shopping_cart'][$p_id]=1;
  		}
  	}

    if($act=='remove' && !empty($p_id))  //ยกเลิกการสั่งซื้อ
  	{
  		unset($_SESSION['shopping_cart'][$p_id]);
  	}

  	if($act=='update') { //อัพเดตร
  		$amount_array = $_POST['amount'];
  		foreach($amount_array as $p_id=>$amount) {
  			$_SESSION['shopping_cart'][$p_id]=$amount;
  		}
  	}

    //ยกเลิกตะกร้าสินค้า
    if ($act == 'Cancel-Cart') {//ถ้า $act เท่ากับ Cancel-Cart ให้ทำการ unset ค่าSESSION ของ shopping_cart
      unset($_SESSION['shopping_cart']);
    }
    print_r($_SESSION);
    echo "<Br>" . $_REQUEST['product_id'];
    echo "<Br>" . $act;

 ?>
<div class="row mt">
  <!-- &product_id=$row_showproduct[id] -->
      <div class="col-lg-12">
              <div class="content-panel">
      <h4><i class="fa fa-angle-right"></i> ตะกร้าสินค้า</h4>
                  <section id="no-more-tables">
                    <form id="frmcart" class="frmcart" action="module.php?module=order&file=cart&act=update" name="frmcart" method="post">
                      <table class="table table-bordered table-striped table-condensed cf">
                          <thead class="cf">
                          <tr>
                              <th class="numeric">No.</th>
                              <th class="numeric">สินค้า</th>
                              <th class="numeric">ราคา</th>
                              <th class="numeric">จำนวน</th>
                              <th class="numeric">รวมรายการ</th>
                              <th class="numeric">ลบ</th>
                          </tr>
                          </thead>
                          <tbody>
                            <?php
                            if (!empty($_SESSION['shopping_cart'])) {
                                  foreach ($_SESSION['shopping_cart'] as $p_id=>$p_qty) {
                                    $query = "SELECT * FROM lotto_product WHERE product_id = '$p_id' ";
                                    $result = mysqli_query($conn,$query);
                                    while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { //while loop
                                      $sum = $row['product_price'] * $p_qty; //ราคาคูณด้วยจำนวน
                                      $total += $sum; //บวกเพิ่มค่าทีละ 1
                            ?>
                          <tr>
                              <td class="numeric" data-title="No."><?php echo $i += 1;?></td>
                              <td class="numeric" data-title="สินค้า"><?php echo $row['product_name']; ?></td>
                              <td class="numeric" data-title="Price"><?php echo number_format($row['product_price'],2);?></td>
                              <td class="numeric" data-title="Numitem"><input type="text" name="<?php echo amount[$p_id];?>" value="<?php echo $p_qty;?>"></td>
                              <td class="numeric" data-title="Allitem"><?php echo number_format($sum,2); ?></td>
                              <td class="numeric" data-title="Delete"><a href="module.php?module=order&file=cart&product_id=<?php echo $row['product_id'];?>&act=remove" class="btn btn-danger"><i class="fa fa-trash-o "></i></a></td>
                          </tr>
                                <?php
                                echo $row['product_name'];
                              }
                            }
                          ?>
                        </tbody>

                          <tr bgcolor="#fff">
                            <td class="numeric" colspan="5" align="right">Total</td>
                            <td class="numeric" align='right' data-title="Allprice"><?php echo number_format($total,2); ?></td>
                          </tr>
                          <?php
                            }
                           ?>
                          <tr>
                            <td class="numeric" bgcolor="#fff" colspan="5" align="right" style="border: none;">
                              <a href="module.php?module=order&file=cart&act=Cancel-Cart" class="btn btn-danger"> ยกเลิกตะกร้าสินค้า </a>
                              <!-- cart.php?act=Cancel-Cart -->
                              <button type="submit" name="button" id="button" class="btn btn-warning"> คำนวณราคาใหม่ </button>
                              <button type="button" name="Submit2"  onclick="window.location='module.php?module=order&file=confirm';" class="btn btn-primary">สั่งซื้อ </button>
                            </td>
                          </tr>
                      <p align="center"> <a href="module.php?module=page&file=shop" class="btn btn-primary">กลับไปเลือกสินค้า</a> </p>
                      </table>
                      </form>
                      <!-- <div class="button-cart" align="right">
                          <button type="submit" name="button" id="button" class="btn btn-warning"> คำนวณราคาใหม่ </button>
                          <button type="button" name="Submit2"  onclick="window.location='confirm.php';" class="btn btn-primary">สั่งซื้อ </button>
                      </div> -->
                  </section>
              </div><!-- /content-panel -->
          </div><!-- /col-lg-12 -->
      </div><!-- /row -->
      </div>



หน้าบันทึกการสั่งซื้อ saveorder.php

Code (PHP)
<?php
  // error_reporting( error_reporting() & ~E_NOTICE );
  error_reporting(0);

  //check
  echo "<pre>";
  print_r($_SESSION);
  echo "<hr>";
  print_r($_POST);
  echo "<hr>";
  print_r($_SESSION['shopping_cart']);
  echo "</pre>";
  // echo "<br>";
  // echo $p_id;;
 ?>


 <!--สร้างตัวแปรสำหรับบันทึกการสั่งซื้อ -->
 <?php
     error_reporting( error_reporting() & ~E_NOTICE );

     //Set ว/ด/ป เวลา ให้เป็นของประเทศไทย
    date_default_timezone_set('Asia/Bangkok');

 	$order_name = $_POST["order_name"];
  $order_lastname = $_POST["order_lastname"];
 	$order_addr = $_POST["address"];
 	$order_email = $_POST["order_email"];
 	$order_phone = $_POST["order_phone"];
 	$p_qty = $_POST["product_qty"]; //จำนวน
  $total = $_POST['total'];
	$order_date = date("Y-m-d H:i:s"); // วันที่ ปี เดือน วัน
 	$order_status = 1;


 	//บันทึกการสั่งซื้อลงใน order_detail
 	mysqli_query($conn, "BEGIN");
 	$query1	= "INSERT  INTO lotto_order VALUES(null,
 	'$order_name',
  '$order_lastname',
 	'$order_addr'	,
 	'$order_email',
 	'$order_phone',
 	'$order_status',
  '$order_date'
 	)";

 	$result1	= mysqli_query($conn, $query1) or die ("Error in query: $query1 " . mysql_error());

 	//ฟังก์ชั่น MAX() จะคืนค่าที่มากที่สุดในคอลัมน์ที่ระบุ ออกมา หรือ่า ใช้สำหรับหาค่าที่มากที่สุด

 	$query2 = "SELECT MAX(order_id) AS order_id FROM lotto_order  WHERE order_phone='$order_phone'";
 	$result2	= mysqli_query($conn, $query2);
 	$row = mysqli_fetch_array($result2);
 	$order_id = $row['order_id'];

  //loop
 	foreach($_SESSION['shopping_cart'] as $p_id=>$p_qty)	{
 		$query3	= "SELECT * FROM lotto_product where product_id='$p_id'";
 		$result3 = mysqli_query($conn, $query3);
 		$row3 = mysqli_fetch_array($result3);
 		$total=$row3['product_price']*$p_qty;


 		$query4	= "INSERT INTO  lotto_orderdetail
 		values(null,
 		'$order_id',
 		'$p_id',
 		'$p_qty',
 		'$total')";
 		$result4	= mysqli_query($conn, $query4);

    // for($a=0;$a<count($sess_id);$a++){
    // $resultX = mysqli_query("UPDATE lotto_product SET item = item - '$p_qty[$a]' WHERE product_id = '$sess_id[$a]'");
    // }
    // $updatestock = "UPDATE lotto_product SET item=item-".$_POST['item'][$i]."WHERE product_id =".$_POST['product_id'][$i]."LIMIT 1";
    // $resultX = mysqli_query($updatestock);
    // echo "<br> = $updatestock";
 	}

 	if($result1 && $result4){
 		mysqli_query($conn, "COMMIT");
 		$msg = "บันทึกข้อมูลเรียบร้อยแล้ว ";
 		foreach($_SESSION['shopping_cart'] as $p_id)
 		{
      // $resultX = ($updatestock);
      // echo "<br> = $updatestock";
      //unset($_SESSION['cart'][$pro_id]);
 			unset($_SESSION['shopping_cart']);
 		}
 	}
 	else{
 		mysqli_query($conn, "ROLLBACK");
 		$msg = "บันทึกข้อมูลไม่สำเร็จ กรุณาติดต่อเจ้าหน้าที่ค่ะ ";
 	}

 // 	exit();
 ?>


 <!-- <script type="text/javascript">
 	alert("<?php echo $msg;?>");
 	window.location ='index.php';
 </script> -->


ผมไม่ค่อยเข้าใจหลักการ การใช้พารามิเตอร์เท่าไร ว่ามันจะต้องเพิ่มเติมโค๊ดในส่วนของขั้นตอนไหนในโค๊ด
ผมอยากจะให้ระบบสามารถตัดยอดจำนวนสินค้าในสต๊อกได้ตามให้ลดตามจำนวนที่สั่งซื้อไป จะต้องเพิ่มเติม ใส่อะไรตรงไหน ช่วยบอกทีครับ


ขอบคุณครับ



Tag : PHP, MySQL, HTML5, CodeIgniter, Bootstrap Framework, XAMPP









ประวัติการแก้ไข
2017-11-09 22:57:56
2017-11-09 22:58:47
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-11-09 22:29:14 By : AionQRy View : 782 Reply : 2
 

 

No. 1



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



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

https://www.thaicreate.com/php/forum/128662.html ตัวอย่าง
เขียน Code ก็เก่งพอได้ แต่ไม่มี <form> </form>
-----------------------------------------------------------------

แนะนำ
1. สร้าง Form รับค่า เลข บิลที่จะตัด Stock
- <textbox>
- <textbox>
- <submit search >เพื่อหาเลข บิล
- <submit Update>
- ( รายการที่ Select)
2. SQL select * from .... where bill_id = '$bill_id' And ......(แล้วแต่ในระบบ);

3. Update set table .....


ไปเล่นดู






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-10 08:32:51 By : Hararock
 


 

No. 2



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



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


ใช้แบบเดิมใช่มั้ยครับ เเล้ว เอาไปใส่ไว้หลังif
Code (PHP)
if($result1 && $result4){

mysqli_query($conn, "COMMIT");

$msg = "บันทึกข้อมูลเรียบร้อยแล้ว ";

foreach($_SESSION['shopping_cart'] as $p_id)

{

// $resultX = ($updatestock);

// echo "<br> = $updatestock";

//unset($_SESSION['cart'][$pro_id]);

unset($_SESSION['shopping_cart']);

}

}


หรือก่อน if ครับ เพิ่มลงไปในไฟล์เดียวกันของ saveorder.php
เลยใช่มั้ยครับ ขอบคุณครับ


ประวัติการแก้ไข
2017-11-10 20:51:47
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-11-10 20:50:29 By : AionQRy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ขออนุญาติสอบถามการ ตัดสต๊อคสินค้า โดยใช้ พารามิเตอร์ครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่