我想使用SQL中的数据为PHP中的成本创建运行中的小计

时间:2018-11-30 16:58:47

标签: php sql multiple-columns

我无法在此处找到答案。希望有人可以提供帮助。

我希望该表显示Xproduct到Xcost的运行总数。 我从SQL数据库中获取数据,并且已经坚持了几个月。

<!-- begin snippet: js hide: false console: true babel: false 
language: lang-css -->

<?php
//Create a table to fill in
echo("<table border=1>");
echo("<tr><th>Image</th><th>Name</th><th>Product Description</th><th>Inventory</th><th>Cost</th><th>Order</th><th>Total</th></tr>");
require_once("serverCode/connect.php");
$sql = "Select * FROM products;";

$result = $mysqli->query($sql);
while($row = $result->fetch_assoc()) {
    // Jquery associate number with the textbox for each product
    // dynamic on the fly (after is simpler )
    $id = $row['productsID'];
    /*Start columns*/    echo("<tr>");
    /*Image column*/     echo("<td><img src='images/" . $id . ".jpg'"    . "</td>");
    /*Name column*/      echo("<td>" . $row['productsName'] . "</td>");
    /*Image column*/     echo("<td>" . $row['productsDesc'] . "</td>");
    /*Inv column*/       echo("<td>" . $row['productsInv'] . "</td>");
    /*Cost column*/      echo("<td>" . $row['productsCost'] . "</td>");
    /*orderAmt column*/  echo("<td><input type=text name = 'product_$id'></td>");
    /*Subtotals column*/ echo("<td>"  "</td>");
    /*end columns*/      echo("</tr>");
}
echo("<tr><th></th><th></th><th></th><th></th><th></th><th></th><th>FINALTotal</th></tr>");
    /*end table*/        echo("</table>")   
?>

<!-- end snippet -->

我认为我发布的数据不正确,但是希望这会有所帮助

下面是它的外观图片 我已经强调了小计应该去哪里以及最终总数。

enter image description here

1 个答案:

答案 0 :(得分:0)

嗨,莉莉,欢迎来到stackoverflow。

您的代码一团糟,我试图对其进行某种程度的修复,但我并未检查所有内容。请尝试以下一项:

<?php
require_once("serverCode/connect.php");

//Create a table to fill in
echo "<table border=1>";
echo "<tr><th>Image</th><th>Name</th><th>Product Description</th><th>Inventory</th><th>Cost</th><th>Order</th><th>Total</th></tr>";

$sql = "Select * FROM products;";    
$result = $mysqli->query($sql);

// add a variable to store the running subtotal in:
$subtotal = 0;

while($row = $result->fetch_assoc()) {

    // add the cost of the current product to $subtotal
    // and make sure it is a float value:
    $subtotal += floatval($row['productsCost']);

    $id = $row['productsID'];
    echo "<tr>";    // Start columns*/    
    echo "<td><img src=\"images/$id.jpg\"/></td>";  // Image column     
    echo "<td>" . $row['productsName'] . "</td>";   // Name column
    echo "<td>" . $row['productsDesc'] . "</td>";   // Image column     
    echo "<td>" . $row['productsInv'] . "</td>";    // Inv column
    echo "<td>" . $row['productsCost'] . "</td>";   // Cost     
    echo "<td><input type=\"text\" name=\"$id\"></td>"; // orderAmt column
    // output the subtotal:
    echo "<td>$subtotal</td>";  // Subtotals column
    echo "</tr>";       // end columns
}
echo "<tr><th></th><th></th><th></th><th></th><th></th><th></th><th>FINALTotal</th></tr>";
echo "</table>";        // end table
?>

在while循环之外,您声明了变量$ subtotal。在循环中,将当前的产品成本添加到其中(+ =运算符)并将其打印到表格中。我在发生这种情况的地方添加了评论。

此外,我建议您先find a php tutorial并学习该语言,然后再开始更大的项目。玩得开心!