이 같은 몇 가지 질문을 보았습니다. 그러나 이것에 대한 변형은 있지만이 작업을 수행하는 방법에 대해서는 여전히 혼란 스럽습니다. 나는 다른 지역에있는 다른 상인이 있고 1 개의 긴 명부에있는 지구에 의하여 그 (것)들을 목록으로 나타내고 싶다.루프 부모 레코드 다음에 어린이, 부모 및 자식 등
서해안
대리점 1
대리점이
대리점 3
동부 해안
대리점 1
대리점이
대리점 3
등등 ...
지역 목록이있는 데이터베이스 테이블과 딜러 목록이있는 테이블이 있습니다.
대리점 테이블에는 regions 테이블의 지역 ID가 포함 된 열이 있으므로 테이블을 조인 할 수 있습니다.
$stmt = $link->prepare("SELECT `region_name`, `dealer_name` FROM `dealer_region` as `dr` INNER JOIN `dealers` as `d` ON dr.`id` = d.`region_id` GROUP BY `region_name`");
$stmt->execute();
$result = $stmt->get_result();
$numRows = $result->num_rows;
if($numRows > 0) {
while($row = $result->fetch_assoc()) {
$dealer_name = $row['dealer_name'];
$region_name = $row['region_name'];
echo $region_name . "<br />" . $dealer_name . "<br />";
}
}
$stmt->close();
그러나 한 대리점에서이 결과 만이 아니라 모든 각 지역에 따라 표시되는 :
나는이 시도.
ORDER BY를 사용할 때의 문제점은 지역 이름, 한 딜러 이름, 지역 이름 다시, 두 번째 딜러 이름 등을 제공한다는 것입니다. 각 지역은 두 번 반복해야하기 때문에 한 번만 표시 한 다음 해당 지역 아래 나열된 모든 딜러 – user8463989
을 표시해야합니다. 하나는 지역의 결과를 반복하는 것이며, 하나는 딜러의 결과를 반복하는 것입니다. – Jeffrey
지역 코드가 바뀔 때 PHP 코드를 체크 한 다음 실행하면됩니다. ORDER BY를 사용하면 해당 지역의 모든 딜러가 서로 후원되며 지역이 변경되면이를 표시 할 수 있습니다.직렬화 된 SQL보다 훨씬 효율적입니다. – slaakso