如何从COUNT个重复行中减去和显示数据

问题描述 投票:1回答:1

enter image description here我只是不知道在发行某些类后如何获取每个类(类:普通,贵宾等)的总可用票。我的数据库记录了普通票的票类,VIP票的类以及每类的打印数量)。我已经知道了如何计算总数。通过使用COUNT(ticket_class),我也已经获得了每个班级发出的总票数。但是我的问题是,在知道已经知道发行数量的情况下,如何获取每个班级剩余的剩余门票数量。我只是不知道从哪里开始,因为每个类别发出的数量不会自动记录在数据库中,它只会动态循环显示。我的代码如下:

 <?php

 $login_user = $_SESSION['UserLogin'];
 $mysqli = new mysqli("localhost", "root", "", "mydb");
 $result = $mysqli->query("SELECT SUM(qty) FROM tickets") or die("Please update the database.");
 $row = $result->fetch_array()or die("Error. Please update first the database on job orders. Or 
       log-out and login again."); 
 $totalTickets = $row[0]
 ?>

 <?php
 echo "<strong>TOTAL TICKETS COUNT</strong>". $totalTickets;
 ?> 

 <div id="mytable">
      <tr>
         <td><b>Ticket Class<b></td>
         <td><b>Ticket Class Printed Qty></td>
         <td><b>Handler</td>
      </tr>
 </div>

 <?php

 $login_user = $_SESSION['UserLogin'];
 $sql = "SELECT * FROM (SELECT * FROM`tickets` ORDER BY date_issued ASC) t ORDER BY date_issued 
         ASC";

 $result = $con->query($sql) or die ("Error. No information in the database.");
 $row = $result->fetch_assoc()or die("Error. No information in the database.");
 ?>
 <?php do{ ?>

 <tr>
  <td> <?php echo '<div align="center">'.$row['ticket_class'];?></td> 
  <td> <?php echo '<div align="center">'.$row['qty_printed'];?></td> 
  <td> <?php echo '<div align="center">'.$row['handler'];?></td> 
 </tr>

 <?php }while($row = $result->fetch_assoc())
 ?>
 <?php

 $login_user = $_SESSION['UserLogin'];
 $query = "SELECT *, COUNT(tickets) FROM mydb GROUP BY tickets "; 
 $result = mysqli_query($con, $query) or die(mysql_error());
 $row = mysqli_fetch_array($result, MYSQLI_BOTH);
 ?>

 <tr>
   <td><b>Ticket Class<b></td>
   <td><b>Issued Qty<b></td>
   <td><b>Unused Qty<b></td> 
   <td><b>Recepient<b></td>
 </tr>

 </div>

 <?php do{ ?>

 <tr>

 <td> <?php echo '<div align="center">'.$row['tickets_class'];?></td>
 <td> <?php echo '<div align="center">'.$row['COUNT(ticket_class)'];?></td>
 <td> <?php echo '<div align="center">'.$row['unused_qty'];?></td> 
 <td> <?php echo '<div align="center">'.$row['recepient'];?></td>

 </tr>

 <?php }while($row = mysqli_fetch_array($result, MYSQLI_BOTH));
 ?>

 </div>
 <div id="table">

<td div align="center"><b>Ticket Class<b></td>
<td div align="center"><b>Recipient<b></td>
</tr>

</div>

<?php

$login_user = $_SESSION['UserLogin'];

$sql = "SELECT * FROM (SELECT * FROM`tickets` ORDER BY visa_i_date DESC) t ORDER BY date_issued 
       DESC";

$result = $con->query($sql) or die ("Error. No information in the database");
$row = $result->fetch_assoc()or die("<p style='color:#820313;'><b> Error! Please update first the 
       record on job order or enter a query.<b></p>");

?>

<div id="mytable">

<?php do{ ?>
<tr>

<td> <?php echo '<div align="center">'.$row['ticket_class']; ?></td>
<td> <?php echo '<div align="center">'.$row['recipient']; ?></td> 

</tr> <?php }while($row = $userpix->fetch_assoc()) ?>     </div>

</table>

</body>

</html>
php mysql count duplicates row
1个回答
0
投票

[好,您应该能够通过$row['ticket_class']循环运行foreach,然后检查每种类型的条件,以查看是否将值设置为特定的故障单类型,即vipordinary,[ C0]等...然后将这些值保存在变量中。

一旦您拥有每种票证类型的售出额。在deluxe上运行foreach循环,并检查条件的类型,将每个值保存在变量中,然后将两个值相减,得出总余额。* $row['qty_printed']表示该变量为整数的缩写。

所以类似下面的内容应该起作用...

+
© www.soinside.com 2019 - 2024. All rights reserved.