PHP variable doorsturen naar Javascript
ik heb een webpagina met een lijst van allerlei data en uren om afspraken te boeken.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$Recordset1 = new WA_MySQLi_RS("Recordset1",$Woma,0);
$Recordset1->setQuery("SELECT id, datum, uur FROM afspraken ORDER BY id ASC");
$Recordset1->execute();
?>
$Recordset1 = new WA_MySQLi_RS("Recordset1",$Woma,0);
$Recordset1->setQuery("SELECT id, datum, uur FROM afspraken ORDER BY id ASC");
$Recordset1->execute();
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$wa_startindex = 0;
while(!$Recordset1->atEnd()) {
$wa_startindex = $Recordset1->Index;
?>
<tr style="text-align: left">
<td width="141" class="tabelhoofding" type="hidden"><?php echo($Recordset1->getColumnVal("id")); ?></td>
<td width="190" class="tabelhoofding"><?php echo($Recordset1->getColumnVal("datum")); ?></td>
<td width="128" class="tabelhoofding"><?php echo($Recordset1->getColumnVal("uur")); ?></td>
<td><input name="button" type="button" class="knop" id="button" title="Afspraak maken" onclick="afspraak()" value="Afspraak maken"></td>
</tr>
<?php
$Recordset1->moveNext();
}
$Recordset1->moveFirst(); //return RS to first record
unset($wa_startindex);
unset($wa_repeatcount);
?>
$wa_startindex = 0;
while(!$Recordset1->atEnd()) {
$wa_startindex = $Recordset1->Index;
?>
<tr style="text-align: left">
<td width="141" class="tabelhoofding" type="hidden"><?php echo($Recordset1->getColumnVal("id")); ?></td>
<td width="190" class="tabelhoofding"><?php echo($Recordset1->getColumnVal("datum")); ?></td>
<td width="128" class="tabelhoofding"><?php echo($Recordset1->getColumnVal("uur")); ?></td>
<td><input name="button" type="button" class="knop" id="button" title="Afspraak maken" onclick="afspraak()" value="Afspraak maken"></td>
</tr>
<?php
$Recordset1->moveNext();
}
$Recordset1->moveFirst(); //return RS to first record
unset($wa_startindex);
unset($wa_repeatcount);
?>
Op die manier heb ik dus een lijst met allerlei data en uren. Nu wens ik bij het klikken op de knop "Afspraak maken" de waarde van het veld "id" te gebruiken om een nieuwe pagina voor die gekozen datum en uur te openen.
Hoe zend ik de waarde van het veld "id " naar een variabale waarmee ik de volgende pagina kan openen?
Kijk eens naar fetch of AJAX in Javascript.
Code (php)
1
2
2
<td><input name="button" type="button" class="knop" id="button" title="Afspraak maken" onclick="afspraak(<?php echo($Recordset1->getColumnVal("uur")); ?>)" value="Afspraak maken"></td>
en dan wordt je javascript functie:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
function afspraak(xid)
{
window.open("http://www.mijnpagina.be/afspraak_boeken.php?xid="+xid, '_self', false);
}
{
window.open("http://www.mijnpagina.be/afspraak_boeken.php?xid="+xid, '_self', false);
}
Toevoeging op 08/08/2024 21:43:22:
maar als je dan 3000 regels in je lijst hebt, dan geef je javascript ook 3000 buttons om een listener op te leggen en in de gaten te houden.
mooier zou het zijn om 1 listener te maken die een klik op het document in de gaten houdt en dan uitzoekt of dat een button van een bepaalde class is. Vervolgens zoek je daar dan het id bij.
Maar dat is stap 2. Kijk eerst maar of je het zo aan de gang krijgt.
Ik heb ondertussen een andere workaround gevonden. Want bovenstaande tips boden niet de oplossing.
Welke oplossing heb je gevonden?
Ik laat de gebruiker zelf het nummer van de afspraak invullen en op [Afspraak maken] klikken aangezien ik vanuit de lijst het nummer van de afspraak niet doorgestuurd krijg naar de volgende pagina. Dus geen knop [Afspraak maken] per datum maar één knop bovenaan [Afspraak maken] met daarnaast het nummer van de afspraak ingevuld door de gebruiker. Misschien niet de mooiste oplossing maar toch goed werkbaar.