簡體   English   中英

foreach循環結果插入到數據庫

[英]foreach loop results to INSERT into database

我有三個不同的div,其中包含結帳信息。

  1. 運輸信息
  2. 計費信息
  3. 訂單確認

運送信息和開票信息是通過客戶手動輸入該信息而獲得的,但是訂單確認(包含他們正在訂購的內容,數量和與該訂單相關的信息)駐留在此。 該信息是從我已經到位的foreach循環中獲得的,該循環根據產品的ID顯示信息。

我試圖弄清楚如何將從我的foreach循環中顯示的字符串INSERT到數據庫中。 我有一個訂單報告頁面,我想顯示所訂購的東西。

對於運輸信息,我將對其進行驗證,然后使用該信息發送查詢。 像這樣...

<?php
if(Input::exists()) {
    $validate = new Validate();
    $validation = $validate->check($_POST, array(
        'fullname' => array(
            'required' => true,
            'min' => 2,
            'max' => 50
        )

if($validation->passed()) {
        if(isset($_POST['create'])){ 
            $fullname = trim( $_POST['customer_name'] );
  ?>

<div class="field">
     <label class="paddingleft" for="fullname">Full Name</label>
     <div class="center"><input type="text"  class="biginputbarinline" name="fullname" value="<?php echo escape(Input::get('firstname')); ?>" required></div>
</div>

我真正困惑的部分是如何插入此foreach循環顯示的實際字符串。 如果我的foreach循環的結果是:

2球

4鞋。

我希望該信息隨查詢一起發送。

到目前為止,這就是我的“訂單確認”部分的方式。

<div class="checkoutconfirmationcontainer">
<?php foreach($_SESSION['shopping_cart'] as $id => $product) {
      $product_id = $product['product_id'];
?>
      <span class="tealmedium"><?php echo $product['quantity'] . " - "  . $products[$product_id]['name'] . $message; ?></span><br><br><br>
           <div class="floatleft"><div class="smallerimgcontainer">
           <?php
           $result = mysqli_query($con,"SELECT * FROM products");
           if($row = mysqli_fetch_array($result)) {
                $products[$row['product_id']] = $row;
                if($row['image'] == ""){
                     echo "<img class='sizedimg' src='/productpics/coming_soon.png' alt='Coming Soon'>";
                } else {
                     echo "<img class='sizedimg' src='/productpics/".$row['img']."' alt='Product Picture'>";
                }
                echo "<br><br><br><br>";
           }
           ?>
           </div></div>
           <div class="checkoutitemsummary">
           <?php echo "<a href='./viewProduct.php?view_product=$id'>" . $product['name'];?><?php echo $products[$product_id]['name']; ?> </a>
                <p><span class="redprice"><?php echo '$' . $products[$product_id]['price'] . "<br />"; }?></span></p>
           </div>

如何獲取與查詢一起插入到數據庫中的foreach循環的結果?

購物車

<tr>
                                <th class="cartth">Name</th>
                                <th class="cartth">Price</th>
                                <th class="cartth">Category</th>
                                <th class="cartth">Quantity</th>
                            </tr>
<?php                               
                        $base_price = 0;
                        foreach($_SESSION['shopping_cart'] as $id => $product) {
                                    $product_id = $product['product_id'];
                                    $base_price += $products[$product_id]['price'] * $product['quantity'];
                                    $shipping_price += $products[$product_id]['shippingprice'] * $product['quantity'];
?>
                                <tr>
                                        <td class="carttd"><?php echo "<a href='./viewProduct.php?view_product=$id'>" . $product['name'];?><?php echo $products[$product_id]['name']; ?> </a>
                                        </td>
                                        <td class="carttd"><?php echo '$' . $products[$product_id]['price']; ?></td> 
                                        <td class="carttd"><?php echo $products[$product_id]['category']; ?></td>
                                        <td class="carttd">
                                        <?php echo "<input type='text' name='quantity[$product_id]'  value='" . $product['quantity'] . "' />"; ?> </td>                                         
                                </tr>
<?php
                                }

產生我的div轉換的Javascript / Jquery:

$('.checkoutmenu>li').on('click',function(e){
    $('.checkoutprocess>.'+ e.target.classList[0]).show().siblings().hide();
});


<script>                    
$('.paymentinfocontainer').hide();
$('.confirmationinfocontainer').hide();
</script>
<script>
$('#button2').click(function () {
    $(".checkoutprocess > div").hide();
    $('.paymentinfocontainer').show("slow");
});
</script>
<script>
$('#button3 ').click(function () {
    $(".checkoutprocess > div").hide();
    $('.confirmationinfocontainer').show("slow");
});
</script>

<script>
/*
$('#button1').click(function () {
    $(".checkoutprocess > div").hide();
    $('.shippinginfocontainer').show("slow");
});
</script>
<script>
$('#button2 ').click(function () {
    $(".checkoutprocess > div").hide();
    $('.paymentinfocontainer').show("slow");
});
</script>
<script>
$('#button3 ').click(function () {
    $(".checkoutprocess > div").hide();
    $('.confirmationinfocontainer').show("slow");
});
*/
</script>

好的,當我單擊“ 3. Order Confirmation”時,得到以下HTML:

<div class="confirmationinfocontainer" style="display: block;">
    <span class="summarytitle"><p>Order Confirmation</p></span>
    <br>
    <div class="floatrightinline">
        <div class="confirmshippinginfo">
            <p>Shipping to:</p>
            <p></p>
            <p></p>
            <p></p>
            <p></p>
        </div>
    </div>
    <div class="checkoutconfirmationcontainer">
        <div name="product_id"></div>
        <span class="tealmedium">1 - Lakers Hat</span>
        <br>
        <br>
        <br>
        <div class="floatleft">
            <div class="smallerimgcontainer">
                <img alt="Coming Soon" src="/productpics/coming_soon.png" class="sizedimg">
                <br>
                <br>
                <br>
                <br>
            </div>
        </div>
        <div class="checkoutitemsummary">
            <a href="./viewProduct.php?view_product=11">Lakers Hat </a>
            <p><span class="redprice">$25<br></span></p>
        </div>
        <input type="hidden" value="405bb6b2b562b4f00dac620d3f68620f" name="token">
        <input type="submit" value="Place Your Order" class="widebutton">
        <br>
    </div>
</div>

因此,我看到您已經在使用隱藏字段。 因此,當用戶單擊“下訂單”按鈕時,您希望傳遞詳細信息。 您可以簡單地通過隱藏字段將這些詳細信息添加回表單。 像這樣:

<div class="checkoutconfirmationcontainer">
<?php
foreach($_SESSION['shopping_cart'] as $id => $product) {
     $product_id = $product['product_id'];
?>
     <input type="hidden" name="product_quantity[<?php echo $id; ?>]" value="<?php echo $product['quantity']; ?>" />
     <span class="tealmedium"><?php echo $product['quantity'] . " - "  . $products[$product_id]['name'] . $message; ?></span><br><br><br>
     <div class="floatleft"><div class="smallerimgcontainer">
     <?php
     $result = mysqli_query($con,"SELECT * FROM products");
     if($row = mysqli_fetch_array($result)) {
          $products[$row['product_id']] = $row;
          if($row['image'] == ""){
               echo "<img class='sizedimg' src='/productpics/coming_soon.png' alt='Coming Soon'>";
          } else {
               echo "<img class='sizedimg' src='/productpics/".$row['img']."' alt='Product Picture'>";
          }
          echo "<br><br><br><br>";
     }
     ?>
     </div></div>
     <div class="checkoutitemsummary">
     <?php echo "<a href='./viewProduct.php?view_product=$id'>{$product['name']} {$products[$product_id]['name']}</a>"; ?>
          <p><span class="redprice"><?php echo '${$products[$product_id]['price']}<br />"; }?></span></p>
     </div>
     <input type="hidden" name="token" value="405bb6b2b562b4f00dac620d3f68620f">
     <input class="widebutton" type="submit" value="Place Your Order">
     <br />
</div>

看這個,我沒有看到<form> 因此,我懷疑JQuery正在其他地方處理此問題。 因此,如果您的JQuery或應用程序現在沒有查找內容或沒有連接到該隱藏字段,則可能無法真正讀取我的修復程序。 如果這是您正在使用的框架或要修改的目錄,請檢查其支持。 我想說您還有很多工作要做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM