Ergebnis von JOIN

Hallo,

habe zwei Tabellen (personen, themengebiete), die über eine
Intersection-Tabelle (themenmitarbeit) verbunden sind.

Tabelle Person
ID|Nachname|Vorname

Tabelle Themengebiet
ID|Bezeichnung

Tabelle Themen_Mitarbeit
ID|Person|Themengebiet

Ich möchte ein Formular generieren, mit dem man die Verknüpfungen
aktualisieren kann. Dazu lass ich mir die einzelen Personen mit
Checkboxen anzeigen. Diese Checkboxen würde ich gerne mit der ID der
Tabelle Personen belegen (value). Mein Problem ist, das ich die ID aus
der Personen-Tabelle nicht ermitteln kann, wenn in der Intersection
Tabelle bis jetzt keine Verknüpfung existiert. $row['id'] hat keinen
Inhalt. (Alle Tabellen haben als erstes ein Feld namens "ID".)

Müssen die Auto_Inc-Felder in den Tabellen unterschiedliche Namen
haben, oder gibt es eine andere Möglichkeit?

Vielen Dank für Eure Hilfe

Christian

$sql =3D "SELECT * FROM personen tp CROSS JOIN themengebiete th LEFT JOIN
themen_mitarbeit tm ON tm.person=3Dtp.id AND tm.themengebiet =3Dth.id where
th.id =3D '$_REQUEST[id]'";

$result =3D mysql_query($sql, $conn);
if (!($result)) {
echo "fehler";
}
$number =3D mysql_num_rows($result);
?>

<?php
$projectMembers =3D array();
$i =3D 1;
while ($row=3Dmysql_fetch_assoc($result)) {
$projectMembers[$row['themengebiet']][$row['id']] =3D
$row['person'];
echo $person;
$test =3D $row['person'];
if ($i % 2 !=3D 0)
{ echo "<tr><td>";
}
else
{ echo "<td>";
}
if (!(empty($test)))
{
echo '<input type=3D\'checkbox\' name=3D\'checkbox[]\'
value=3D',$row['person'],'\'checked>',$row['nachname'];
}
else
{
echo '<input type=3D\'checkbox\' name=3D\'checkbox[]\'
value=3D',$row['person'],'>',$row['nachname'];
}
maumi [ Mo, 22 August 2005 21:22 ] [ ID #933273 ]

Re: Ergebnis von JOIN

Christian Mimberg wrote:
>
>...
>

Benutze AS um Attribute im Select umzubenennen:

$sql = "SELECT *,tp.id AS personenid FROM personen tp CROSS JOIN themengebiete th LEFT JOIN
themen_mitarbeit tm ON tm.person=tp.id AND tm.themengebiet =th.id where
th.id = '$_REQUEST[id]'";

jetzt kannst du per $row['personenid'] of die id der Person zugreifen.

Stefan
Stefan Rybacki [ Di, 23 August 2005 01:12 ] [ ID #934829 ]
PHP » de.comp.lang.php.datenbanken » Ergebnis von JOIN

Vorheriges Thema: Script mit Gesamtansichtsliste und Einzelansicht
Nächstes Thema: Inkrementieren?