Value = Selectie uit dropdown menu
Voor een stichting site heb ik het e.e.a. gemaakt maar kom uit 1 stukje niet uit.
Mensen kunnen via een form doneren aan het goede doel, met bovenaan een dropdown menu die de geregistreerde personen weergeeft van de site.
Deze code gebruik ik voor het uitlezen v an de geregistreerde gebruikers:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
mysql_connect('', '', '');
mysql_select_db ("");
$sql = "SELECT id,name FROM jos_users";
$result = mysql_query($sql);
echo "<select id='id' name='id'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
?>
mysql_connect('', '', '');
mysql_select_db ("");
$sql = "SELECT id,name FROM jos_users";
$result = mysql_query($sql);
echo "<select id='id' name='id'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
?>
Nu heeft iedere geregistreerde een ID die wordt opgehaald via bovenstaande code.
Als mensen willen doneren aan een bepaalde user moet er een value aan de submit button worden toegevoegd zodat het ingevulde bedrag aankomt bij deze gebruiker.
Deze code moet de id ophalen uit de bovenstaande dropdown maar zou niet weten hoe.
<input type="hidden" name="receive_user_id" value="" />
Hoop dat jullie mij kunnen helpen met de waarde van value="".
Alvast bedankt!
Gewijzigd op 06/09/2013 10:45:54 door Jordy F
Als een gebruiker de user selecteert, en op submit drukt, komt de value van de <select> bij jou op de server
Als $_GET['id'] ofwel $_POST['id'] (naargelang de method van het <form>)
Jordy Fauth op 06/09/2013 10:43:59:
Als mensen willen doneren aan een bepaalde user moet er een value aan de submit button worden toegevoegd zodat het ingevulde bedrag aankomt bij deze gebruiker.
Hoe zo?
Leg mij uit waarom dat in de submit moet komen. Die waarde zit toch in de <select>.
Mis ik iets?
De id wordt uitgelezen waarna hij de bijbehorende naam opzoekt en deze toont in de dropdown.
Het is misschien wat onduidelijk uitgelegd maar misschien is het makkelijker als ik het laat zien dmv een voorbeeld.
Deelnemer
Als je via bovenstaande link een bedrag invult op Doneer Nu! klikt zie je dat je wordt door gestuurd naar het formulier, met onderaan een tekstvak met daarin een ID. Deze is normaal 'hidden'.
Via het menu bovenaan 'Doneren' kom je op hetzelfde formulier, als er een gebruiker wordt geselecteerd uit de 2e dropdown, blijft de waarde onderaan in het tekstvak nog steeds 0.
Hier wordt normaal gezien dus de ID ingevuld zodat het bedrag bij de juiste persoon aankomt.
Hoop dat het een stukje duidelijker is, ben geen held in PHP zoals je ziet.
Laat ons zeggen:
- Gebruiker = de mens die op jouw site aan het surfen is.
- Deelnemer: de mens die zal lopen; ( -> de gebruiker doneert aan de deelnemer )
En noem de elementen bij naam. Niet tweede dropdown, maar bv. <select name="deelnemers">
Ik zie verschillende <input type="hidden"> . Over welke heb je het?
Jordy Fauth op 06/09/2013 11:40:54:
... als er een gebruiker wordt geselecteerd uit de 2e dropdown, blijft de waarde onderaan in het tekstvak nog steeds 0. ...
Waarom zou je verwachten dat dit verandert?
En vooral: Waarom wil je de id van die deelnemer op twee verschillende elementen in het formulier?
Als de <select name="deelnemers"> de waarde van de deelnemer al kan doorsturen, waarom wil je die waarde dan nog eens in een <input type="text"> ?
Merk ook op dat de gebruiker geen boodschap heeft aan de id van een gebruiker. Weten zij veel dat Ben Beckman ergens een id=283 heeft ...
Gewijzigd op 06/09/2013 12:31:14 door Kris Peeters
Via de link die ik in het vorige bericht stuurde kan je doneren aan de persoon,
je moet dus eerst navigeren naar Deelnemers, dan het bedrag invullen en Doneer Nu!
Heel dat stuk wil ik graag weghalen, zodat je alleen kunt zien wat de deelnemers opgehaald hebben totaal.
De <select name="deelnemers"> werkt dus met het ophalen van de deelnemer gegevens,
maar na het aanklikken van een deelnemer aan wie je wil doneren komt het niet aan in het systeem bij de juiste persoon.
Het tekstvak met de ID heb ik alleen maar zichtbaar gemaakt zodat ik zie of er iets gebeurt na het veranderen van een deelnemer, tevergeefs.
Zorg dat dit in je code staat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<select name="deelnemers" onchange="copyId2textinput(this);">
<option value="283">Ben Beckmann</option>
<option value="247">Team Ledro4life</option>
</select>
<script>
function copyId2textinput(select) {
document.getElementById('receive_user_id').value = select.value;
}
</script>
...
<input type="text" name="receive_user_id" id="receive_user_id">
<option value="283">Ben Beckmann</option>
<option value="247">Team Ledro4life</option>
</select>
<script>
function copyId2textinput(select) {
document.getElementById('receive_user_id').value = select.value;
}
</script>
...
<input type="text" name="receive_user_id" id="receive_user_id">
Helemaal super! Bovenstaande code in mijn code verwerkt.
Code (php)
1
2
3
4
5
2
3
4
5
echo "<select name='deelnemers' onchange='copyId2textinput(this);'>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['id'] . "'>" . $row['name'] . "</option>";
}
echo "</select>";
Bedankt voor je hulp Kris!
Gewijzigd op 06/09/2013 14:00:21 door Jordy F