Visa ett inlägg
Oläst 2004-11-09, 23:30 #15
Tvartom Tvartom är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 86
Tvartom Tvartom är inte uppkopplad
Medlem
 
Reg.datum: Oct 2004
Inlägg: 86
Tack heyday... Ditt svar gjorde att jag kom på följande lösning:
Kod:
SQL:
SELECT id, namn FROM kat_tbl
Listar alla tillgängliga kategorier, dessa används både i headern till tabellen som skrivs ut, och till att konstruera nästa SQL-fråga:

Kod:
<?PHP
// kategori_id sparade i $kat
$sql = "SELECT register_tbl.*";
foreach ($kat as $value) {
 * $sql .= ", k".$value.".kat_tbl_id";
}
$sql .= " FROM register_tbl";
foreach ($kat as $value) {
 * $sql .= " LEFT JOIN koppling_tbl AS k".$value." ON (k".$value.".register_tbl_id = register_tbl.id AND k".$value.".kat_tbl_id = ".$value.")";
}
?>
Detta bör skapa en SQL-fråga i stil med:
Kod:
SQL:
SELECT
 * register_tbl.*,
 * k1.kat_tbl_id,
 * k2.kat_tbl_id
FROM register_tbl
 * LEFT JOIN koppling_tbl AS k1 ON (k1.register_tbl_id = register_tbl.id AND k1.kat_tbl_id = 1)
 * LEFT JOIN koppling_tbl AS k2 ON (k2.register_tbl_id = register_tbl.id AND k2.kat_tbl_id = 2)
Så får det läggas till lite alias för att skilja dem åt och annat finputs...
Kod:
SQL:
SELECT
 * register_tbl.*,
 * IF(k1.kat_tbl_id IS NULL, 0, 1) AS k1,
 * IF(k2.kat_tbl_id IS NULL, 0, 1) AS k2
FROM register_tbl
 * LEFT JOIN koppling_tbl AS k1 ON (k1.register_tbl_id = register_tbl.id AND k1.kat_tbl_id = 1)
 * LEFT JOIN koppling_tbl AS k2 ON (k2.register_tbl_id = register_tbl.id AND k2.kat_tbl_id = 2)
Fortfarande hade det varit snyggare om det gick att skriva en SQL-fråga direkt utan att dynamsikt generera den via PHP-kod!
Tvartom är inte uppkopplad   Svara med citatSvara med citat