Hallo,

Ik wil een dropdownbox vullen met items uit de database.
De database is zo opgebouwd: (voorbeeld database)


hij moet de rijen ijzer, hout, glas in de dropdownbox zetten waar er 1 staat.
Dus bij ID - 12 zou die ijzer, glas en canvas in de dropdownbox zetten

Hoe zou ik dit het beste kunnen doen?
Ik heb dit geprobeerd maar dat werkt niet echt hij echo'ed alleen een 1 en een 0 nu...
Code:
<?php
$GetID = $_GET ['id_art'];

$Materialen = mysql_query("SELECT * from materials WHERE id_art ='$GetID' AND canvas ='1'
OR aluminum ='1' OR perspex ='1' OR sticker ='1' OR poster ='1' OR wood ='1' OR glass ='1' OR mirror ='1'
OR stone ='1' OR steel ='1' OR stainlessSteel ='1' OR vinyl ='1' OR PVC ='1' OR plastic ='1' OR foil ='1'
OR mesh ='1'") or die(mysql_error());

$testMaterial = array();
while($row = mysql_fetch_array($Materialen))
{
array_push($testMaterial, $row['canvas']);
array_push($testMaterial, $row['aluminum']);
}
echo "<select name='Material'>";
echo "<option value=''>Material";
foreach ($testMaterial as $value)
{
echo "<option value='$value'>$value";
}
echo "</select>";
?>
Ik denkd at je beter je kan verdiepen in database-normalisatie moet verdiepen. Want om het aantal databasevelden te baseren op het aantal producten/items, dat maakt je database en je queries er niet flexibeler op.

Gezien de producten per user aan of uit kunnen worden gezet is een nieuwe tabel met de naam user_product het beste. Hierin koppel je de users met de geactiveerde producten.
@aar dankjewel voor je reactie, ik ben misschien wat onduidelijk geweest omdat jij het over users hebt :p
Hopelijk is dit duidelijker :)


ID = het id van het product en in deze tabel specificeer ik uit welke materialen wij het kunnen maken.
Dus zit je op mijnsite.nl/VoorbeeldPagina?id=12 dan zul je op die pagina een dropdownbox zien waar je een materiaal kan kiezen waar jij het van gemaakt wil hebben.

Nogmaals sorry voor de onduidelijkheid :p
En die materialen horen niet in tabelvelden worden gespecificeerd. Wat als je straks nou 30 nieuwe producten hebt?
Dan heb ik idd nog 30 rijen zo :p
Ik heb ik mijn CMS een pagina waar je producten kunt aanmaken en dit word ook netjes ingevoerd in alle 2 de tabellen.

*Edit Wat lijkt jou de beste oplossing dan? :p
- Marco - op 03/12/2012 11:16:49

Dan heb ik idd nog 30 rijen zo :p

En kan je alle queries weer aan passen, onnodige tijdverspilling dus.

- Marco - op 03/12/2012 11:16:49

*Edit Wat lijkt jou de beste oplossing dan? :p

Die oplossing heb ik al gezegd. Een nieuwe tabel waarin je de producten plaatsr, per record, en daar koppelt aan je user/groepen of wat dan ook.
Ok dat zou idd kunnen maar de tabel van de producten heeft nu 21 rijen en als ik dan met de materialen zou gaan doen dan zou de tabel van de producten 69 rijen krijgen dat is dus 3x zoveel, daarom had ik een aparte tabel gepakt voor de materialen en dan daar gewoon een ID die gekoppeld is aan de producten tabel ID

Reageren