Hallo allemaal,

ik wil vanuit een mysql database een aantal functies uitvoeren
bv

toon($row['var1'],$row['var2']);

alleen $row['var2'] moet een variable naam bevatten $_SESSION['mynaam']

zodat de functie zo wordt

toon('waarde van row var1',$_SESSION['mynaam']);


ik weet niet hoe ik dit moet googlen :)

Groetjes Gert-Willem
Of in deze moderne tijden gewoon:
<?php
// aanname: $_SESSION['my_user_id'] bestaat
myDropdown('users', 'myform_users', $userData, $_SESSION['my_user_id'] ?? false);
?>
Rob Doemaarwat op 03/04/2020 08:15:06

Of in deze moderne tijden gewoon:


Aangezien TS shorttags gebruikt (<¿ ) zal zijn PHP versie niet een van de nieuwste zijn.

@ 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)
[ c o d e ]
[ / c o d e ]

maar dan zonder spaties.

--
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
Gert-willem Sanders op 03/04/2020 10:36:12

hoe en waar vind ik die code tags. ze staan niet in veelgestelde vragen (of zijn goed verstopt)


Ze staan gewoon in het tabelletje van de opmaakcodes.

[code] en [/code]
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.
Gert-willem Sanders op 03/04/2020 10:36:12

@ 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:

$haalop = haalop()

verwerk($haalop)
verwerk($haalop)
verwerk($haalop)
etc.....
Ik dank jullie voor het je best doen om mij te helpen.
Alles wat jullie omschrijven doe ik in mijn ogen.


plaatscombo( $row['var1'],$row['var2'],$row['var3'],$row['var4'],$vulditin);
//is toch hetzelfde als 
myDropdown('users', 'myform_users', $userData, $_SESSION['my_user_id'] ?? false);

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");

dit was mijn vraag alleen maar hoe los ik dit op
Gebruik je nu letterlijk in je script zulke nietszeggende genummerde variabelen?

Vertel anders eens in normale Jip en Janneke taal wat je nou voor elkaar wilt krijgen, want mogelijk is er zelfs een elegantere oplossing.
ik heb in een string een variabele naam.
deze wil ik als variabele gebruiken.
dus ip "$ikbeneenvariabelenaam" naar $ikbeneenvariabelenaam

als dat niet kan dan gewoon niet

Reageren