hallo!
ich habe drei tabellen:
TSpezi
[SpeziID, SpeziName,..]
TProdukte
[ProduktID, ProduktName,..]
TProdukteSpezi --> Verbindungstabelle
[ProduktID, SpeziID]
jetzt möchte ich gerne ein dropdown menü füllen und zwar sollen alle spezifikationen aus tspezi aufgelistet werden, UND wenn eine dieser spezis auch in der verbindungstabelle auftaucht, also einem produkt zugeordnet ist, soll sie markiert werden.
ich habe das mal so probiert
leider werden jetzt irgendwie alle gelistet und immer mittendrin kommen meine XX (selected) werte........
was kann ich verbessern, was mach ich falsch?
krieg irgendwie keinen weiteren ansatz
danke
ich habe drei tabellen:
TSpezi
[SpeziID, SpeziName,..]
TProdukte
[ProduktID, ProduktName,..]
TProdukteSpezi --> Verbindungstabelle
[ProduktID, SpeziID]
jetzt möchte ich gerne ein dropdown menü füllen und zwar sollen alle spezifikationen aus tspezi aufgelistet werden, UND wenn eine dieser spezis auch in der verbindungstabelle auftaucht, also einem produkt zugeordnet ist, soll sie markiert werden.
ich habe das mal so probiert
PHP-Code:
<select name="Methoden[]" size="10" multiple>
<?php
$sql0 = "SELECT * FROM TSpezi";
$result0 = mysql_query($sql0) OR die(mysql_error());
while($row0 = mysql_fetch_assoc($result0))
{
$SpeziIDErsteSchleife=$row0['SpeziID'];
$SpeziNameErsteSchleife=$row0['SpeziName'];
$sql1 = "SELECT *
FROM TSpezi pro
INNER JOIN TProdukteSpezi ref ON ref.SpeziID = pro.SpeziID
INNER JOIN TProdukte pru ON pru.ProduktID = ref.ProduktID
WHERE ref.ProduktID ='$ProduktID'";
$result1 = mysql_query($sql1) OR die(mysql_error());
while($row1 = mysql_fetch_assoc($result1))
{
$SpeziID=$row1['SpeziID'];
$SpeziName=$row1['SpeziName'];
if ($SpeziName==$SpeziNameErsteSchleife)
{
echo "<option value=$SpeziID selected>$SpeziName XX</option>";
}
else
{
echo "<option value=$SpeziID>$SpeziNameErsteSchleife</option>";
}
}
}
?></select>
#'$ProduktID' kommt von oben
leider werden jetzt irgendwie alle gelistet und immer mittendrin kommen meine XX (selected) werte........
was kann ich verbessern, was mach ich falsch?
krieg irgendwie keinen weiteren ansatz
danke
Kommentar