【问题标题】:Quantity of every product outputs like 123. How can i put this in a table row table data每个产品输出的数量,如 123。我如何将其放入表格行表格数据中
【发布时间】:2019-11-06 13:19:29
【问题描述】:

我在转换我的 $quantity_total 时遇到问题,例如 (113) 来自 3 种不同的产品。 我希望它出现在如下表中。

我一直在尝试使用 chunk_split 并爆炸,但如果我能够成功的话。我无法让它动态化。

<table>
  <tr>
    <th>Quantity</th>
  </tr>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>1</td>
  </tr>
  <tr>
    <td>3</td>
  </tr>
</table>

$total=0;
$item_count=0;
$arr = array();
$quantity_all = '';
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    extract($row);
        $arr[] = $row;

    $_SESSION['cart-checkout'] = $arr;

    $quantity=$_SESSION['cart'][$id]['quantity'];

    $quantity_all .=$quantity;

    $sub_total=$price*$quantity;


    echo "<div class='cart-row'>";
        echo "<div class='col-md-8'>";

            echo "<div class='product-name m-b-10px'><h4>{$name}</h4></div>";
            echo $quantity>1 ? "<div>{$quantity} items</div>" : "<div>{$quantity} item</div>";

        echo "</div>";

        echo "<div class='col-md-4'>";
            echo "<h4>&#36;" . number_format($price, 2, '.', ',') . "</h4>";
        echo "</div>";
    echo "</div>";


    $item_count += $quantity;
    $total+=$sub_total;

    $_SESSION['total'] =  $total;
    $_SESSION['item-count'] =  $item_count;

}
$_SESSION['quantity-all'] = $quantity_all;

这可能吗?我需要它是动态的。因此,如果它是 10 个不同的数量。它将创建 10 个表格行。

希望有人能帮助我,非常感谢!这是完成我的电子商务网店的最后一件事。

【问题讨论】:

  • 请为$qauntity_total放更多的样本,我们需要先计算所有的,然后才能制作表格。
  • 如果你有 3 种不同的产品,它们会在一个数组中还是什么? php.net/manual/en/control-structures.foreach.php
  • 这不是一个好方法有几个原因,但主要是,11 是什么意思? 1 行值为 11 还是 2 行每行值为 1?您将只能处理 0-9 的值。这是你想要的吗?
  • @Badrinath 我更新了我的代码。
  • @AbraCadaver 不,它们不在数组中,请参阅上面的更新代码。

标签: php


【解决方案1】:

我不知道这是否是您想要的,但您可以尝试以下方法:

 <table>
   <tr>
      <td>Quantity</td>
   </tr>
    <?php

    $characters = str_split( (string) $quantity_total);

    foreach($characters as $char){
          echo "
              <tr>
                  <td> $char </td>
             </tr>
           ";
    }

    ?>
   </table>

【讨论】:

  • 作品谢谢,您之前的评论已被接受,因为它是最快的,但您的作品也很完美。谢谢你的时间!
【解决方案2】:

正如我在评论中提到的,我认为这不是一个好的解决方案......但您正在寻找的功能是 str_splithttps://stackoverflow.com/a/9814389/296555

http://sandbox.onlinephpfunctions.com/code/0bbee53cafafc0d5e8954e07d0abc2c86c6c89a8

<?php
$rows = '156165165489465131';

echo '<table>';
echo '<tr><th>Quantity</th></tr>';

foreach (str_split($rows) as $row) {

    echo "<tr><td>$row</td></tr>";
}

echo '</table>';

【讨论】:

  • 很高兴这对您有用,但请尝试使用 11 个数量。它会产生正确的结果吗?
  • 是的,如果值为 11,那很好,那将如何工作?
  • 没错。你需要另一个解决方案。请参阅我的最后评论。
  • 所以你的意思是用查询将它保存在数据库中,然后在我需要时再次加载它?
猜你喜欢
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-03
  • 2023-03-05
  • 1970-01-01
相关资源
最近更新 更多