Mensen,
Ik heb een producten database. Een product toevoegen (er wordt ge-insert naar een tabel products, een tabel colors, een tabel sizes, een tabel rel_productscolors en een tabel rel_productssizes) gaat zonder problemen.
Echter, met het wijzigen van een product kom ik ergens niet uit. Ik kan alle velden uitlezen en de values weer laten geven in het form, echter een lijst met (variabele) checkboxen afkomstig uit de colors tabel en een lijst met (variabele) checkboxen afkomstig uit de sizes tabel dienen, met behulp van wat er in de relatietabel is ingevoerd te worden gechecked of niet.
Kijkend naar de colors tabel (sizes tabel is een identiek probleem, dus het heeft geen zin om beide problemen volledig weer te geven) dan is mijn idee hierbij dat ik alle ColorID's uit de color tabel moet selecten. Dit voor de gehele lijst. Als tweede dien ik alle ColorID's uit de rel_productscolors tabel te trekken. Beide moeten in een array geduwd worden lijkt me en vergeleken worden met elkaar.
Nu heb ik hier even mee zitten spelen, en kwam ik tot de volgende code tot zover:
Bovenstaande om dus een array op te zetten met alle ColorID's welke uiteindelijk gechecked moeten worden. Hieronder de code om alle ColorID's aanwezig in totaal uit te lezen:
Nu heb ik volgens mij dus 2 arrays, welke ik moet gaan vergelijken. Ofwel. If array1 is array2 then checked, else unchecked. Echter, ik ben het spoor even bijster hoe dit te doen. Wellicht heeft iemand zin en tijd om me even wat beter wegwijs te maken? Of wellicht pak ik het volledig verkeerd aan?
Ik heb een producten database. Een product toevoegen (er wordt ge-insert naar een tabel products, een tabel colors, een tabel sizes, een tabel rel_productscolors en een tabel rel_productssizes) gaat zonder problemen.
Echter, met het wijzigen van een product kom ik ergens niet uit. Ik kan alle velden uitlezen en de values weer laten geven in het form, echter een lijst met (variabele) checkboxen afkomstig uit de colors tabel en een lijst met (variabele) checkboxen afkomstig uit de sizes tabel dienen, met behulp van wat er in de relatietabel is ingevoerd te worden gechecked of niet.
Kijkend naar de colors tabel (sizes tabel is een identiek probleem, dus het heeft geen zin om beide problemen volledig weer te geven) dan is mijn idee hierbij dat ik alle ColorID's uit de color tabel moet selecten. Dit voor de gehele lijst. Als tweede dien ik alle ColorID's uit de rel_productscolors tabel te trekken. Beide moeten in een array geduwd worden lijkt me en vergeleken worden met elkaar.
Nu heb ik hier even mee zitten spelen, en kwam ik tot de volgende code tot zover:
code:
1
2
3
4
5
6
7
8
9
10
| $colorquery = "SELECT ColorID FROM rel_ProductsColors WHERE ProductID = $ProductID;"; $colorresult=mysql_query($colorquery); while ($colorrow = mysql_fetch_row($colorresult)) { $ColorID = $colorrow['0']; for ($i=0; $i <= sizeof($ColorID); $i++) { $ColorArray[$i] = $ColorID; } } |
Bovenstaande om dus een array op te zetten met alle ColorID's welke uiteindelijk gechecked moeten worden. Hieronder de code om alle ColorID's aanwezig in totaal uit te lezen:
code:
1
2
3
4
5
6
7
8
9
10
| $colorquery2 = "SELECT ColorID FROM Colors WHERE SupplierID = $SupplierID ORDER BY Priority ASC;"; $colorresult2=mysql_query($colorquery2); while ($colorrow2 = mysql_fetch_row($colorresult2)) { $ColorID = $colorrow2['0']; for ($i=0; $i <= sizeof($ColorID); $i++) { $ColorArrayDummy[$i] = $ColorID; } } |
Nu heb ik volgens mij dus 2 arrays, welke ik moet gaan vergelijken. Ofwel. If array1 is array2 then checked, else unchecked. Echter, ik ben het spoor even bijster hoe dit te doen. Wellicht heeft iemand zin en tijd om me even wat beter wegwijs te maken? Of wellicht pak ik het volledig verkeerd aan?
[ Voor 3% gewijzigd door Verwijderd op 25-10-2004 19:12 ]