gpt4 book ai didi

php - 一次显示组标题的高效方法——PHP/MySQL/jQuery

转载 作者:行者123 更新时间:2023-11-29 06:47:03 25 4
gpt4 key购买 nike

MySQL中有三张表:Employees、Branches、Departments。我需要以下列方式显示信息:

ATLANTA Branch
Delivery Department
Phillip J. Fry
Phone: 123456

Engineering Department
Turanga Leela
Phone: 123457

Bender Rodriguez
Phone: 123458


目前最简单的PHP代码:
1) 从三个表中获取行(使用 JOIN 的简单 SELECT 查询)
2) 将它们排成一行 (mysql_fetch_assoc)
3) 使用 PHP While 循环显示

结果是这样的:

ATLANTA Branch
Delivery Department
Phillip J. Fry
Phone: 123456

ATLANTA Branch
Engineering Department
Turanga Leela
Phone: 123457

ATLANTA Branch
Engineering Department
Bender Rodriguez
Phone: 123458

您可以推荐什么技术(JS、jQuery、Ajax)或方法,这样我就可以只使用一个查询来提取行信息,而不会重复分支名称和部门名称?

更新:如果我将分支名称放在循环之外(使用 While 循环),将会出现多个循环:1) 获取分支,2) 获取部门,3) 获取所有员工在那个部门。环形。

更新: 分享代码:

<?php
// Create connection
$connection = mysql_connect('localhost','root', '') or die('Connection error.');
mysql_query("SET NAMES 'utf8'", $connection);
mysql_select_db("eReference");

// Check Employees
$query = "SELECT Employees.fName, Employees.lName, Department.deptName, Branch.branchName, ".
"FROM Employees ".
"LEFT JOIN Department ".
"ON Employees.department = Department.id ".
"LEFT JOIN Branch ".
"ON Employees.branch = Branch.id ;";

$result = mysql_query($query, $connection) or die(mysql_error());

while ($row = mysql_fetch_assoc($result)) {

?>

<h2><?php echo $row['branchName']; ?></h2>
<?php if ($row['deptName']) echo "<h3>" . $row['deptName'] . "</h3>"; ?>
<h4><?php echo $row['fName'] . " " . $row['lName']; ?></h4></p>
<?php
}
?>

最佳答案

<?php

$i = 1; // to be incremented after printing branchName once

while ($row = mysql_fetch_assoc($result)) {

if($i == 1) { ?>

<h2><?php echo $row['branchName']; $i ++; ?></h2>

<?php } ?>

<?php if ($row['deptName']) echo "<h3>" . $row['deptName'] . "</h3>"; ?>

<h4><?php echo $row['fName'] . " " . $row['lName']; ?></h4></p>

<?php } ?>

只需添加一个变量$i = 1 并在打印前检查它是否等于1。第一次打印后,将其递增。它只是添加一个 if 语句。

希望这对您有所帮助。

关于php - 一次显示组标题的高效方法——PHP/MySQL/jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18077574/

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