0
LEFT JOIN
을 사용하는 SQL 쿼리에 문제가 있습니다. 사용자 정의 필드의 테이블과 해당 필드의 값 테이블이 있습니다. 값을 얻기 위해 테이블을 조인했지만 일치하는 행의 데이터 만 표시합니다. 값 행이 존재하지 않으면 필드 이름이 표시되지 않습니다. 내 목표는 값이 있는지 여부에 관계없이 모든 필드를 표시하는 것이지만 필드에 일치하는 기존 값을 계속 유지하는 것입니다. 아래는 나의 질문입니다. LEFT JOIN으로 일치하지 않는/존재하지 않는 행 표시
$customfields = $pdo->prepare("SELECT * FROM fields f LEFT JOIN fields_values v ON f.id = v.fieldid WHERE v.related_system=:relsystem ORDER BY f.fieldorder ASC");
$customfields->bindParam(':relsystem', $_GET['id'], PDO::PARAM_STR);
$customfields->execute();
$customfields = $customfields->fetchAll(PDO::FETCH_ASSOC);
쿼리 후 나는
foreach
루프를 가지고있다.
foreach ($customfields as $fields) {
$ftype = $fields['fieldtype'];
$fname = $fields['fieldname'];
$fvalue = $fields['value'];
echo $fname;
echo $fvalue;
}
이것은 일치하는 레코드 만 표시합니다. 값 행이없는 필드는 표시되지 않습니다.
빠른 응답 감사합니다. 이것은 그것을했다. – CrunchyToast