@ Thomas,
wat is er anders aan jouw dropdownfunctie ???
de naam is niet mydropdown maar plaatscombo.
jij stopt de data eerst in een array ik zet ze direct in de functie.
alleen blijft mijn vraag hoe zet ik een nog niet bekende variabele bijvoorbeeld $_SESSION['my_user_id'] of $myuserid of $wieissinterklaas in de functie variabele. ik weet wel welke variabele ik wil laten, zien ik heb alleen de waarde nog niet.
in kan natuurlijk een rijtje maken met
Code(php)
if ($row['var5']=='$_SESSION['my_user_id']') {$vulditin=$_SESSION['my_user_id']}
if ($row['var5']=='$datum') {$vulditin=$datum}
//...
plaatscombo( $row['var1'],$row['var2'],$row['var3'],$row['var4'],$vulditin);
code(php)
maar dat is zoveel extra werk.
hoe en waar vind ik die code tags. ze staan niet in veelgestelde vragen (of zijn goed verstopt)
--
je zult vast op meer plaatsen in je site een dropdown gaan gebruiken.
Dan kun je elke keer opnieuw een functie bouwen, of dat stuk apart nemen:
Een <select> heeft een naam, id en een paar eigenschappen. (style, class etc)
en daarin zit een rijtje <option>s van een value en een tekst.
Die kun je dus prima meegeven als array.
En tenslotte is er 1 geselecteerde waarde (optioneel)
Dat is voor _elke_ <select> zo. dus dat hoef je niet steeds opnieuw te maken. Dat is het verschil
enne:
ik zie dat je IN je functie een connectie maakt met de database.
Ik hoop dat je dat niet steeds bij elke query doet?
Dat is iets wat je liefst vroeg in je code eenmalig doet.
Zelfs al zou het 10x opnieuw met dezelfde gegevens verbinden en hergebruikt PHP waarschijnlijk de bestaande verbinding: het kost wel elke keer wat extra processor- en netwerktijd.
@ Thomas,
wat is er anders aan jouw dropdownfunctie ???
de naam is niet mydropdown maar plaatscombo.
jij stopt de data eerst in een array ik zet ze direct in de functie.
Nee, die array representeert je database uitvoer. Dit script is om snel uit te testen en daarna verder uit te werken, en dan is het overdreven om er meteen nog een hele database aan vast te leggen. Uiteindelijk is dat wel iets waar je naartoe moet werken.
En bovendien hoef je jouw data (als die hetzelfde is) maar één keer op te halen, en dat hoeft niet steeds opnieuw bij een eigen gemaakte functie. Je kan er daarom prima twee aparte functies van maken. Vrij vertaald wordt het dan:
var[1] is de tabel die moet worden gebruikt
var[2] is de kolom uit d tabel die aan de <option> word doorgegeven
var[4] is de id naam (ik gebruik naam omdat ik deze in de $_POST terug wil hebben
var[5] hier moet de gene die ingelogd is worden weergegeven(selected)
die var[5] is het probleem
niet dat ik voor de combobox een query moet doen. (dat is juist mijn flexibele gebruik die combobox kan elke keer een andere tabel zijn waarvan uit 1 kolom de waarde kan worden gekozen)
als in die kolom namen van werknemers staan, moet de inlogger dus geselecteerd worden. Ik weet vooraf niet wie er inlogt dus dat is een variable. $ingelogd.
als ik die in een database zet staat die tussen "" ofwel "$ingelogd"
dat werkt niet met
myDropdown('users', 'myform_users', $userData, "$ingelogd");