首页 > 解决方案 > 格式化 SQL PHP 脚本

问题描述

我在上课,有人要求我从 SQL 表中检索信息并将其显示为发票。我已经掌握了基础知识,但是我现在被要求将 PHP 页面格式化为如下所示。

PHP 页面

我有点困惑如何做到这一点,甚至从哪里开始。

PHP:

<?php
require("connect.php");
$inNo = $_POST["inNo"];

$sql = "SELECT invoice.invoice_no, invoice.date, invoice.cust_id, invoice.emp_id, invoice_line.prod_id, invoice_line.qty, product.cost_price, (product.cost_price * invoice_line.qty) FROM invoice INNER JOIN invoice_line ON invoice.invoice_no = invoice_line.invoice_no INNER JOIN product ON invoice_line.prod_id = product.id WHERE cust_id = '" . $inNo . "'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    //open table
    echo '<table class="table table-striped" id="outTable">';
    echo "<tr><th>Invoice no.</th><th>Date</th><th>Customer ID</th><th>Employee ID</th><th>Product ID</th><th>Qty</th><th>Price</th><th>Total cost</th></tr>";
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "
        <tr>
        <td>" . $row["invoice_no"]. "</td>
        <td>" . $row["date"]. "</td><td>" . $row["cust_id"]. "</td>
        <td>" . $row["emp_id"]. "</td><td>" . $row["prod_id"]. "</td>
        <td>" . $row["qty"]. "</td><td>" . $row["cost_price"]. "</td>
        <td>" . $row["(product.cost_price * invoice_line.qty)"]. "</td>
        </tr>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>

标签: phpsqlformatting

解决方案


试试这个:

<?php
require("connect.php");
$inNo = $_POST["inNo"];

$sql = "SELECT invoice.invoice_no, invoice.date, invoice.cust_id, invoice.emp_id, invoice_line.prod_id, invoice_line.qty, product.cost_price, (product.cost_price * invoice_line.qty) FROM invoice INNER JOIN invoice_line ON invoice.invoice_no = invoice_line.invoice_no INNER JOIN product ON invoice_line.prod_id = product.id WHERE cust_id = '" . $inNo . "'";
$result = $conn->query($sql);

echo"<div style='width:50em'>";

if ($result->num_rows > 0) {
    $count =0;
    while($row = $result->fetch_assoc()) {
        if ($count==0){
          echo '<h2 style="text-align: center">Invoice no. " . $row["invoice_no"]. "</h2>';
          echo '<table width=100%>';          
          echo "<tr style='text-align: left'><th>Date</th><th>Customer ID</th><th>Employee ID</th></tr>";
          echo '<td>" . $row["date"]. "</td><td>" . $row["cust_id"]. "</td>
            <td>" . $row["emp_id"]. "</td></table>';
          echo '<table class="table table-striped" id="outTable" width=100% style="text-align: left">';
          echo '<th>Product ID</th><th>Qty</th><th>Price</th></tr>';
        }

        echo "
        <tr>
        <td>" . $row["prod_id"]. "</td>
        <td>" . $row["qty"]. "</td><td>" . $row["cost_price"]. "</td>
        </tr>";
        if ($count==$result->num_rows-1){
          echo '<div style="text-align: right">Total cost: " . $row["(product.cost_price * invoice_line.qty)"]. "</div>';
        }
        $count++;
    }
    echo "</table></div>";
} else {
    echo "0 results";
}
$conn->close();
?>

推荐阅读