繁体   English   中英

从下面的php + mysql表中显示总计

[英]Display Total from below php+mysql table Code

每当用户执行搜索时,我都想显示已付款的总数。 我的代码如下:

    <?php 
$sql = "SELECT * FROM users";
if(isset($_POST['search'])){
    $search_term = mysql_real_escape_string($_POST['search_box']);
    $sql .= " WHERE first_name = '{$search_term}'";
    $sql .= " OR last_name = '{$search_term}'"; 
    $sql .= "OR month = '{$search_term}'";
}
$query = mysql_query($sql) or die(mysql_error());
?>
<form name="search_form" method="POST"action="displaydata.php">
    Search: <input type="text"name="search_box" value="" />
    <input type="submit" name="search"value="Search..">
</form>
<table width="70%" cellpadding="5" cellspace="5">
    <tr><td>Student ID</td><td>First Name</td><td>Last Name</td><td>Paid Amount</td><td>Course</td><td>Month</td><td>Year</td></tr>
    <H3>Payment Voucher</H3><?php while ($row =mysql_fetch_array($query)) {?>
    <tr><td><?php echo $row ['student_id']; ?></td><td><?php echo $row ['first_name']; ?></td><td><?php echo $row ['amount']; ?></td><td><?php echo $row ['month']; ?></td>
    </tr>
<?php } ?>
<?php 

if(isset($_POST['search'])){
$search_term = mysql_real_escape_string($_POST['search_box']);
$sql = "SELECT * FROM users WHERE first_name = '{$search_term}' OR last_name = '{$search_term}' OR month = '{$search_term}'";

$query = mysql_query($sql) or die(mysql_error());
?>
<form name="search_form" method="POST"action="displaydata.php">
Search: <input type="text"name="search_box" value="" />
<input type="submit" name="search"value="Search..">
</form>
<table width="70%" cellpadding="5" cellspace="5">
<tr><td>Student ID</td><td>First Name</td><td>Last Name</td><td>Paid Amount</td><td>Course</td><td>Month</td><td>Year</td></tr>
<H3>Payment Voucher</H3><?php while ($row =mysql_fetch_array($query)) {?>
<tr><td><?php echo $row ['student_id']; ?></td><td><?php echo $row ['first_name']; ?></td><td><?php echo $row ['amount']; ?></td><td><?php echo $row ['month']; ?></td>
</tr>
<?php 
} 
} 
?>

这看起来应该好多了,而且更容易。 但请更改为PDO或MySQLi。 不推荐使用MySQL,从php 7开始它已经消失了。

使用PDO时该查询的外观如何:

<?php 
$conn = new PDO("mysql:host=localhost;dbname=database", 'user', 'password');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
if(isset($_POST['search'])){
$search_term = htmlEntities($_POST['search_box'], ENT_QUOTES);
$sql = $conn->prepare("SELECT * FROM users WHERE first_name = :search_term OR last_name = :search_term OR month = :search_term");
$sql->bindParam(':search_term', $search_term, PDO::PARAM_STR);
$sql->execute();
?>
<form name="search_form" method="POST"action="displaydata.php">
Search: <input type="text"name="search_box" value="" />
<input type="submit" name="search"value="Search..">
</form>
<table width="70%" cellpadding="5" cellspace="5">
<tr><td>Student ID</td><td>First Name</td><td>Last Name</td><td>Paid Amount</td><td>Course</td><td>Month</td><td>Year</td></tr>
<H3>Payment Voucher</H3>
<?php while ($row = $sql->fetch(PDO::FETCH_ASSOC)) {?>
<tr><td><?php echo $row ['student_id']; ?></td><td><?php echo $row ['first_name']; ?></td><td><?php echo $row ['amount']; ?></td><td><?php echo $row ['month']; ?></td>
</tr>
<?php 
} 
} 
?>

希望这对您有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM