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,037

HOME > PHP > PHP Forum > มีวิธีเขียนโปรแกรมอย่างไรบ้าง ที่จะ Update ราคาทั้งกลุ่มสินค้า โดยการป้อนจำนวนเงินต่อ กก. เพียงค่าเดียว ใน PHP Mysql ค่ะ



 

มีวิธีเขียนโปรแกรมอย่างไรบ้าง ที่จะ Update ราคาทั้งกลุ่มสินค้า โดยการป้อนจำนวนเงินต่อ กก. เพียงค่าเดียว ใน PHP Mysql ค่ะ

 



Topic : 136632



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



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




เนื่องจากราคาโลหะ เปลี่ยนแปลงตลอดเวลา ตามปัจจัยของตลาดโลก และสินค้ามีจำนวนหลายพันรายการ ดังนั้นการจะเปลี่ยนแต่ละตัว ใช้เวลามาก หากเราเปลี่ยนทั้งกลุ่ม โดยกรอกจำนวนเงินต่อ กก. แล้วนำไปคูณน้ำหนักสินค้า ในกลุ่มสินค้าเดียวกัน และกด Update ทำอย่างไรค่ะ

Code ที่เขียนได้ จะทำการ Update ครั้งละ 1 รายการค่ะ
Code (PHP)
<?php include('header.php'); ?> 

            <!-- เนื้อหา -->
            <div class="content-wrapper">
                <!-- Content Header (Page header) -->
                <section class="content-header">
                    <h1>Change prices as category</h1>
                </section>
                <!-- Main content -->
                <section class="content">
                    <form class="form-horizontal" method="post"   >
                        <div class="box-body">                                                        
							<script>							
                            function findproduct_current(str) 
                            {                                
                                 if (str.length == 0) { 
                                     document.getElementById("pro_qty").innerHTML = "";
                                     return;
                                 } else {
                                     var xmlhttp = new XMLHttpRequest();
                                     xmlhttp.onreadystatechange = function() {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                                             document.getElementById("pro_qty").value = xmlhttp.responseText;                                                
                                            var qty= xmlhttp.responseText;                                               
                                         }
                                     }
                                     xmlhttp.open("GET", "find_product.php?id="+str, true);
                                     xmlhttp.send();
                                     findprono(str);
                              }
                            }
                               
                                  function findprono(str) 
                            {
                                
                                 if (str.length == 0) { 
                                     document.getElementById("pro_no").innerHTML = "";

                                     return;
                                 } else {
                                     var xmlhttp = new XMLHttpRequest();
                                     xmlhttp.onreadystatechange = function() {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                                             document.getElementById("pro_no").value = xmlhttp.responseText;
                                                
                                            var qty= xmlhttp.responseText;                                                
                                         }
                                     }
                                     xmlhttp.open("GET", "find_prono5.php?id="+str, true);
                                     xmlhttp.send();                                
                                                findunit(str);                             
                            }
                            }                                 
                                  function findunit(str) 
                            {
                                
                                 if (str.length == 0) { 
                                     document.getElementById("quotation_unit").innerHTML = "";
                                     return;
                                 } else {
                                     var xmlhttp = new XMLHttpRequest();
                                     xmlhttp.onreadystatechange = function() {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                                             document.getElementById("quotation_unit").value = xmlhttp.responseText;                                                
                                            var qty= xmlhttp.responseText;                                              
                                         }
                                     }
                                     xmlhttp.open("GET", "find_unit.php?id="+str, true);
                                     xmlhttp.send();                                
                                                findprice(str);                              
                            }
                            }
                                                                
                                    function findprice(str) 
                            {
                                
                                 if (str.length == 0) { 
                                     document.getElementById("pro_sell").innerHTML = "";
                                     return;
                                 } else {
                                     var xmlhttp = new XMLHttpRequest();
                                     xmlhttp.onreadystatechange = function() {
                                         if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                                             document.getElementById("pro_sell").value = xmlhttp.responseText;                                                
                                            var qty= xmlhttp.responseText;                                                
                                         }
                                     }
                                     xmlhttp.open("GET", "find_productprice.php?id="+str, true);
                                     xmlhttp.send();									 
									 findmember(str);                        
                            }
                            }
                               
    
                            function caltotal()
                                {                                    
									var pro_sell;												
                                    pro_sell=document.getElementById("pro_sell").value;							
									tot2=pro_sell*1;

									
                          }
                             
                            </script>																				
                            <?php
                            $sqlw=" select distinct(adjust_no) from tb_pricechange";
                            $sqlw.=" where";
                            $sqlw.=" adjust_status='ยืนยันการปรับราคา'";
                            $numw=$cls_con->select_numrows($sqlw);
                            if($numw==0)
                            {
                                $adjust_no="PRICE-1";
                            }
                            else
                            {
                                $numw=$numw+1;
                                $adjust_no="PRICE-".$numw;
                            }
                                                        
                            ?>                                
                            <div class="form-group">Items
                              <label for="adjust_no" class="col-sm-2 control-label"></label>
                                <div class="col-sm-10">
                                    <input readonly="text" class="form-control" name="adjust_no" value="<?=$adjust_no;?>"
									id="adjust_no" placeholder="">
                                </div>
                            </div>                                                        
                            <script>                            
                            function filter() {
                            var keyword = document.getElementById("pro_name").value;
                            var select = document.getElementById("pro_id");
                            for (var i = 0; i < select.length; i++) {
                            var txt = select.options[i].text;
                     if (txt.substring(0, keyword.length).toLowerCase() !== keyword.toLowerCase() && keyword.trim() !== "") {
                     select.options[i].style.display = 'none';
                     } else {
                       select.options[i].style.display = 'list-item';
                       }
                     }
                       }
                            </script>                                                                                          
                                <div class="form-group">Strength
                                  <div class="col-sm-8">
                                    <select name="pro_id" id="pro_id" class="form-control" onchange="findproduct_current(this.value)">
                                       <option value="">
                                                --Select--
                                      </option>
                                        
                                        <?php
                                        $sqld=" select * from tb_product_change_price";
                                        if(isset($_GET['pro_id']))
                                        {
                                            $pro_id=$_GET['pro_id'];
                                            $sqld.=" where";
                                            $sqld.=" pro_id='$pro_id'";
                                        }
                                        $resultd=$cls_con->select_base($sqld);
                                        while($rowd=mysqli_fetch_array($resultd))
                                        { 
                                            $pro_id=$rowd['pro_id'];
                                            $pro_name=$rowd['pro_name'];
											$pro_no=$rowd['pro_no'];                                                                                           
                                        ?>
                                            <option value="<?=$pro_id;?>">
                                                <?=$pro_name;?>
                                            </option>
                                            <?php } ?>
                                    </select>
                            </div>
                            </div>
                            <div class="form-group">Code
                                <label for="pro_no" class="col-sm-2 control-label"></label>
                                <div class="col-sm-10">
                                <input readonly="readonly" class="form-control" name="pro_no" id="pro_no" placeholder="">
                                </div>
                            </div>
                            <div class="form-group">Prices
                              <label for="pro_sell" class="col-sm-2 control-label"></label>
                                <div class="col-sm-10">
                                <input readonly="readonly" class="form-control" name="pro_sell" id="pro_sell" placeholder="ราคาปัจจุบัน">
                                </div>
                            </div>
                            <div class="form-group">New Prices
                              <label for="adjust_qty" class="col-sm-2 control-label">่ *</label>
                                <div class="col-sm-10">
                                <input class="form-control" name="adjust_qty" required="required" type="text" value="<?php echo @$_POST['adjust_qty'] ?>">                                    
                            </div>
                            </div>
                                  
                        </div>
                        <!-- /.box-body -->
                        <center>
                            <button type="submit" name="submit" class="btn btn-info">ยืนยันปรับราคา</button>
                            <input name="reset" type="reset" id="reset" value="ยกเลิก" onClick="window.location.href=
							'show_product.php';" class="btn btn-warning">
                        </center>
                    </form>
                    <?php
                if(isset($_POST['submit']))
                {
                  $adjust_no=$_POST['adjust_no'];
                  $pro_id=$_POST['pro_id'];
                  $pro_qtycurrent=$_POST['pro_qtycurrent']; 
				  $pro_no=$_POST['pro_no']; 
                  $adjust_qty=$_POST['adjust_qty'];    
                  $adjust_becuase=$_POST['adjust_becuase'];     
                  $adjust_note=$_POST['adjust_note'];   
                  $adjust_status='รออนุมัติ';     
                  $employee_id=$_POST['employee_id']; 
				  
                  $sql=" insert into tb_pricechange (adjust_no,pro_id,pro_qtycurrent,pro_no,adjust_qty,adjust_becuase,
				  adjust_note,adjust_status,employee_id,adjust_date)";
                  $sql.=" values ('$adjust_no','$pro_id','$pro_qtycurrent','$pro_no','$adjust_qty','$adjust_becuase','
				  $adjust_note','$adjust_status','$employee_id',now())";                    
                    if($cls_con->write_base($sql)==true){
                     echo $cls_con->show_message('บันทึกข้อมูลสำเร็จ');
                     echo "<meta http-equiv='refresh' content='2 ;url=insert_pricechange.php'>" ;
                  }
                  else{
                    echo $cls_con->show_message('บันทึกข้อมูลไม่สำเร็จ');
                  }
                }

                ?>
            <br/>
                    <?php
                      $sqlg=" select * from pricechange_vw4";
                      $sqlg.=" where adjust_status='รออนุมัติ'";
                      $numg=$cls_con->select_numrows($sqlg);
                      if($numg>=1)
                      {
                          ?>
                    <form method="post"> 
                    <div class="CSSTableGenerator" >                      
          <table >            
            <tr>
                <td>Items</td>
                <td>No.</td>
                <td>Code</td>
                <td>Prices</td>                
                <td>New Prices</td>            
                <td>Status</td>
            </tr>
              <?php               
              $result=$cls_con->select_base($sqlg);
              while($row =mysqli_fetch_array($result))
              {

              ?>
              <tr>
                <td><?=$row['adjust_id'];?></td>
                <td><?=$row['adjust_no'];?></td>
                <td><?=$row['pro_no'];?></td>		
                <td><?=$row['pro_sell'];?></td>                  
                <td><?=$row['adjust_qty'];?></td>          
                <td><?=$row['adjust_status'];?></td>                                                 
              </tr>
              <?php } ?>       
          </table>
            </div>
            <hr/>
           <center>

				<button type="submit" name="confirm" class="btn btn-info">อนุมัติการปรับราคา</button>
                <br/>
                <br/>
            </center>
                    </form>
                    <?php
                      }
                    ?>                    
                    <?php
															
                    if(isset($_POST['confirm']))
                    {
                        $sqlc=" select * from tb_pricechange";
                        $sqlc.=" where";
                        $sqlc.=" adjust_no='$adjust_no'";
                        $sqlc.=" and";
                        $sqlc.=" adjust_status='รออนุมัติ'";                        
                        $resultc=$cls_con->select_base($sqlc);
                        while($rowc=mysqli_fetch_array($resultc))
                        {
                            $pro_idc=$rowc['pro_id'];
                            $adjust_qty=$rowc['adjust_qty'];
                            $remain=find_remainqty($pro_idc);
                            $new_qty=$remain-$adjust_qty;
                            update_qty($pro_idc,$new_qty);
                        }
                        
                        $sqli=" update tb_pricechange";
                        $sqli.=" set";
                        $sqli.=" adjust_status='ยืนยันการปรับราคา'";
                        $sqli.=" where";
                        $sqli.=" adjust_no='$adjust_no'";
                        $sqli.=" and";
                        $sqli.=" adjust_status='รออนุมัติ'";
                    if($cls_con->write_base($sqli)==true){
                         echo $cls_con->show_message('ยืนยันการปรับราคาสำเร็จ');
                         echo $cls_con->goto_page(1,'show_take.php');
                      }
                      else{
                        echo $cls_con->show_message('ยืนยันการปรับราคาไม่สำเร็จ');
                      }
                                            
                    }
                    ?>
                </section>
                <!-- /.content -->
            </div>
            <!-- เนื้อหา -->
<?php include('footer.php'); ?>
<?php
function find_remainqty($pro_id)
{
    $cls_con=new class_conn;
    $sql=" select * from tb_product_change_price";
    $sql.=" where";
    $sql.=" pro_id='$pro_id'";
    $result=$cls_con->select_base($sql);
    while($row=mysqli_fetch_array($result))
    {
        $pro_sell=$row['pro_sell'];
    }
    return $pro_sell;
}

function update_qty($pro_id,$new_qty)
{
    $cls_con=new class_conn;
    $sql=" update tb_product_change_price";
    $sql.=" set";
    $sql.=" pro_sell='$new_qty'";
    $sql.=" where";
    $sql.=" pro_id='$pro_id'";
    $cls_con->write_base($sql);
    echo $sql;    
}

?>

womg12457



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2022-03-24 17:49:03 By : Vipada147 View : 446 Reply : 2
 

 
Syntax
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;


คุณกำหนดตัวแปรแปลกๆ เลยไม่มั่นใจส่วนไหนที่อัปเดตราคา แต่ดูจากโค้ดน่าจะเป็น update_qty()
ซึ่งจริงๆ ในภาษาศาสตร์ qty คือ จำนวนไม่ใช่ราคา แต่คำสั่งคิวรีสั่งอัปเดตคอลัมน์ pro_sell ซึ่งอ้างอิงตามรูป DB
pro_sell คือ ราคา (การกำหนดตัวแปรอาจไม่มีผลต่อการทำงาน แต่จะทำให้สับสนได้เวลามาทำความเข้าใจทีหลัง)




วิธีอัปเดตแบบกลุ่ม (mass-update) หัวใจหลักอยู่ที่คำสั่ง sql ตาม syntax ที่ผมแนบข้างต้น ในกรณีของคุณ ก็จะประมาณนี้

Code (SQL)
UPDATE tb_product_change_price
SET pro_sell = pro_weight_pc*$priceKG
WHERE strength_id=$product_group_id;


ผมยกตัวอย่างให้เห็นภาพโดยรวม เวลานำไปใช้อย่าลืมดูไวยากรณ์ และไม่ควรต่อ string ใน statement โดยตรง ควรใช้ prepare ไม่งั้นจะกลายเป็นโปรแกรมเอื้ออาทร

ส่วน Frontend ก็สร้างฟอร์มตามที่คุณออกแบบไว้ แล้ว request ไปยัง server ก่อนอัปเดตลง DB ด้วยตัวอย่างข้างต้น
(คุณทำแบบหน้าเดียวอาจต้องใช้เวลางมหน่อย...แต่ก็ลองดูครับ)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-03-24 18:40:55 By : 009
 


 

No. 2



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



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


ขอบพระคุณ คุณ Стремись มากค่ะ เนื่องจากต้องเร่งส่งโปรแกรม ตัวแปร update_qty เป็นโปรแกรมเดิมที่ปรับปรุงจำนวน นำมาคัดแปลง ใช้กับ Update ราคา ไม่ทันได้เปลี่ยนค่ะ เมื่อทำงานได้ครบสมบูรณ์จะเปลี่ยนให้ถูกต้องค่ะ

code ที่แนะนำเป็นแนวทาง จะนำไปเขียนต่อนะค่ะ


ประวัติการแก้ไข
2022-03-24 19:55:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2022-03-24 19:53:30 By : Vipada147
 

   

ค้นหาข้อมูล


   
 

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