PHP 连接数据库查询重复数据并分组
以下是使用PHP连接数据库并查询数据的示例代码:
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 查询数据库
$sql = "SELECT vod_id, vod_name, vod_year FROM mac_vod GROUP BY vod_name, vod_year LIMIT 5";
$result = $conn->query($sql);
// 构建结果数组
$groups = array();
while ($row = $result->fetch_assoc()) {
$vod_id = $row['vod_id'];
$vod_name = $row['vod_name'];
$vod_year = $row['vod_year'];
// 根据type_id分组
$sql_group = "SELECT type_id, GROUP_CONCAT(vod_id) AS vod_ids FROM mac_vod WHERE vod_name = '$vod_name' AND vod_year = '$vod_year' GROUP BY type_id";
$result_group = $conn->query($sql_group);
$group = array();
while ($row_group = $result_group->fetch_assoc()) {
$type_id = $row_group['type_id'];
$vod_ids = explode(',', $row_group['vod_ids']);
// 忽略一个以上的vod_id构成的重复组
if (count($vod_ids) > 1) {
$group['id'] = $vod_id;
$group['id_1'] = $vod_ids;
$groups[] = $group;
}
}
}
// 输出结果
echo json_encode($groups);
// 关闭连接
$conn->close();
?>
请注意,示例代码中的数据库连接信息需要根据实际情况进行修改,包括 $servername、$username、$password 和 $dbname。另外,该示例代码只是一个简单的演示,实际应用中可能需要根据具体需求进行适当的修改和优化。
原文地址: https://www.cveoy.top/t/topic/qhqE 著作权归作者所有。请勿转载和采集!