在PHP仪表板中展示数据库记录条数的技术需求
修正仪表板医生总数统计与显示的问题
你的代码里有两个关键问题导致医生总数无法正确显示,我帮你调整好了,先看修正后的完整代码:
<?php $con = mysqli_connect("localhost","root","","hospital_db"); // 可选但推荐:检查数据库连接是否正常 if (!$con) { die("数据库连接失败: " . mysqli_connect_error()); } // 改用COUNT(*)统计行数,比SELECT *高效得多 $result = mysqli_query($con,"SELECT COUNT(*) AS total_doctors FROM doctors"); $row = mysqli_fetch_assoc($result); $totalDoctors = $row['total_doctors']; // 修正HTML字符串中的变量输出,不需要嵌套PHP标签 $content = '<div class="row"> <div class="col-lg-3 col-xs-6"> <!-- small box --> <div class="small-box bg-aqua"> <div class="inner"> <h3>' . $totalDoctors . '</h3> <p>Doctors</p> </div> <div class="icon"> <i class="ion ion-bag"></i> </div> <a href="http://localhost/medibed/doctor" class="small-box-footer">View Doctors <i class="fa fa-arrow-circle-right"></i></a> </div> </div> <!-- ./col --> </div>'; include('../master.php'); ?>
关键修改点说明:
- 优化查询性能:原来用
SELECT * FROM doctors再用mysqli_num_rows统计,数据库需要返回所有医生的记录,数据量大时会很慢。改成SELECT COUNT(*) AS total_doctors FROM doctors后,数据库只返回一个统计数值,效率大幅提升。 - 修复变量输出语法:原代码在
$content字符串里写<h3><?php echo '.$rows.';?></h3>是错误的——你已经处于PHP代码块中,不需要再嵌套<?php标签,直接用字符串拼接' . $totalDoctors . '就能把统计值插入到HTML里。 - 添加连接检查(可选):增加了数据库连接失败的判断,方便排查连接问题。
这样修改后,仪表板就能正确显示医生的总数量了。
内容的提问来源于stack exchange,提问作者ultramel1987
相关产品推荐
相关产品推荐

