【发布时间】:2021-02-07 12:21:05
【问题描述】:
我是 PHP 新手,我花了几个小时研究并试图找出我做错了什么。我正在加入几个表以使用事务表中的多个事务填充客户配置文件页面。页面的其余部分按预期使用查询,但是当使用 while 语句时,结果中的每个事务重复等于结果中的事务总数。例如,如果结果有 3 个事务编号 (1, 2, 3),则 while 语句回显“1, 1, 1, 2, 2, 2, 3, 3, 3” 而不仅仅是“1, 2, 3"。
我知道这很简单,但它让我把头发拔了出来。请帮忙:
if(!isset($_GET['PeopleID'])){
header('Location: people.php');
die();
} else {
if(!filter_var($_GET['PeopleID'], FILTER_VALIDATE_INT)){
header('Location: people.php');
die();
} else {
$PeopleID = filter_var($_GET['PeopleID'], FILTER_VALIDATE_INT);
$query = "SELECT *
FROM
people
LEFT JOIN notes ON
PersonID = PeopleID
LEFT JOIN filenumbers ON
id = PeopleID
LEFT JOIN transactions ON
transactions.FileNumberID = filenumbers.FileNumberID
LEFT JOIN filingdetails ON
filingdetails.FileID = filenumbers.FileNumberID
WHERE PeopleID=:PeopleID";
$result = $db_connection->prepare($query);
$result->execute([
'PeopleID' => $PeopleID
]);
}
}
while($row = $result -> fetch()){
echo $row['TransactionNumber'] . ", ";
}
【问题讨论】:
标签: php while-loop duplicates echo