gpt4 book ai didi

php - 关于在php中调用每张表有多少分类

转载 作者:行者123 更新时间:2023-11-29 06:57:56 24 4
gpt4 key购买 nike

我正在用 php 创建一个学校类型的 CMS 系统以获得更多经验。我创建了一个 schedule.php 页面,其中列出了学校类别,例如:

会计生物学数学计算机科学

我想在来自数据库的 Accounting(2) 类别旁边添加一个数字,因为有 2 个会计类。例如计算机科学有 10 门课,所以它应该是计算机科学(10)

我的代码只显示科目名称,不显示所教类(class)的数量。

这是我的代码:

<?php


include('connect.php');

if(!isset($_GET['id']))
{
?>
<table border="1" width="15%" height="137">
<tr>
<td><?php

//$query1 = mysql_query("SELECT * FROM categories ORDER BY category_name") or die(mysql_error());


$query1 = mysql_query("SELECT CONCAT(a.category_name, ' (', COUNT(b.category_id), ')') AS category

来自类别aLEFT JOIN classes b ON a.id = b.category_idGROUP BY a.id, a.category_name") or die(mysql_error());

    while($row = mysql_fetch_object($query1))
{
print "<a href='schedule.php?id=" . $row->id . "'>" . $row->category . "</a><br/>";
} ?></td>
</tr>

    <?php


}
//if you click on the subject
else if(isset($_GET['id']))
{
$category = $_GET['id'];
$sql = "SELECT * FROM classes WHERE category_id = " . $category;
$query2 = mysql_query($sql) or die(mysql_error());


while($row = mysql_fetch_object($query2))
{
?>

<center><h3><?php echo $row->class_name . '-' . $row->units; ?> </h3></center>
<table border ="0" wdith="100%">
<tr>
<td>
<strong>Description: </strong>
<?php echo $row->class_description; ?>
</tr>
</td>
</table>
<br/>
<table border="1" width="44%">
<tr>
<td width="60"><b>Ticket</b> </td>
<td width="123"><b>Days</b></td>
<td width="120"><b>Hours</b></td>
<td width="64"><b>Room</b></td>
<td><b>Instructor</b></td>
</tr>


<tr>
<td width="60"> <?php echo $row->ticket; ?> </td>
<td width="123"><?php echo $row->days; ?></td>
<td width="120"><?php echo $row->start_hours . $row->time_format . '-' . $row->end_hours . $row->time_format2 ; ?> </td>
<td width="64"> <?php echo $row->room_number; ?></td>
<td><?php echo $row->instructor_name; ?></td>
</tr>

    }//end while

}//end else if

?>

谢谢

最佳答案

假设您的架构符合以下内容:

+---------------+     +--------------------+
| categories | | classes |
+---------------+ +--------------------+
| ID | | id |
| category_name | | category_id |
| etc.. | | etc... |
+---------------+ +--------------------+

其中 classes.category_id 是引用 categories.id 的外键,有一个非常简单的解决方案:

SELECT a.ID, CONCAT(a.category_name, ' (', COUNT(b.category_id), ')') AS category
FROM categories a
LEFT JOIN classes b ON a.ID = b.category_id
GROUP BY a.ID, a.category_name

这会将类别的计数连接到每个类别。例如。

Biology (4)
Computer Science (10)
etc...

您可以简单地在 PHP 中引用查询的 category 列。

while($row = mysql_fetch_object($query1))
{
print "<a href='schedule.php?id=" . $row->ID . "'>" . $row->category . "</a><br/>";
}

关于php - 关于在php中调用每张表有多少分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621228/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com