Radio button - CHECKED dmv Database
Ik ben bezig met een script waarmee je "Amount" aan of uit kan zetten. De bedoeling is wanneer je het hebt aangepast dat die optie 'checked' blijft staan. Hoe kan ik dit op een makkelijke manier doen waarmee ik 1 database veld nodig heb.
Wat ik nu heb:
Code (php)
1
2
3
4
5
2
3
4
5
<tr>
<td>Amount</td>
<td> <input type="radio" name="amount" value="on">on
<input type="radio" name="amount" value="off">off<br/><br/></td></td>
</tr>
<td>Amount</td>
<td> <input type="radio" name="amount" value="on">on
<input type="radio" name="amount" value="off">off<br/><br/></td></td>
</tr>
Code (php)
1
2
2
<?php mysql_query("UPDATE events SET amount='".$_POST['amount']."'WHERE id='".$_POST['hiddenid']."'"); ?>
Heb verder nog niet met variabelen gewerkt.
Hopelijk weten jullie een slimme oplossing
Je kunt toch controleren met PHP of een radiobutton gechecked is? En als je nou een boolean veld aanmaakt in je database die je een 0 geeft voor niet checked en een 1 geeft voor checked kun je die waarden later uit de database pakken om ze later in html weer een 'checked' attribuut mee te geven.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
// Sessie starten (Sessies moet je wel gaan gebruiken... )
session_start();
// Controleren of er op de wijzig button is geklikt
if(isset($_POST['wijzigen'])){
// Als de checkbox aan is:
if(isset($_POST['amount'])){
// Nummer op 1 zetten
mysql_query("UPDATE events SET amount='1' WHERE id='".$_SESSION['id']."'");
}
// Checkbox is dus uit:
if(!isset($_POST['amount'])){
// Nummer op 0 zetten
mysql_query("UPDATE events SET amount='0' WHERE id='".$_SESSION['id']."'");
}
}
// Amount selecteren
$selecteren = mysql_query("SELECT amount FROM events WHERE id='".$_SESSION['id']."'");
$result = ($selecteren,'amount');
// Als amount 0 is en dus uitstaat:
if($result == '0'){
?>
<form method="post" action="">
<input type="checkbox" name="amount">
<input type="hidden" name="hiddenid" value="hetid">
<input type="submit" name="wijzigen" value="Wijzigen">
</form>
<?php
}
// Als amount 1 is en dus aanstaat:
if($result == '1'){
?>
<form method="post" action="">
<input type="checkbox" name="amount">
<input type="hidden" name="hiddenid" value="hetid" CHECKED>
<input type="submit" name="wijzigen" value="Wijzigen">
</form>
<?php
}
?>
// Sessie starten (Sessies moet je wel gaan gebruiken... )
session_start();
// Controleren of er op de wijzig button is geklikt
if(isset($_POST['wijzigen'])){
// Als de checkbox aan is:
if(isset($_POST['amount'])){
// Nummer op 1 zetten
mysql_query("UPDATE events SET amount='1' WHERE id='".$_SESSION['id']."'");
}
// Checkbox is dus uit:
if(!isset($_POST['amount'])){
// Nummer op 0 zetten
mysql_query("UPDATE events SET amount='0' WHERE id='".$_SESSION['id']."'");
}
}
// Amount selecteren
$selecteren = mysql_query("SELECT amount FROM events WHERE id='".$_SESSION['id']."'");
$result = ($selecteren,'amount');
// Als amount 0 is en dus uitstaat:
if($result == '0'){
?>
<form method="post" action="">
<input type="checkbox" name="amount">
<input type="hidden" name="hiddenid" value="hetid">
<input type="submit" name="wijzigen" value="Wijzigen">
</form>
<?php
}
// Als amount 1 is en dus aanstaat:
if($result == '1'){
?>
<form method="post" action="">
<input type="checkbox" name="amount">
<input type="hidden" name="hiddenid" value="hetid" CHECKED>
<input type="submit" name="wijzigen" value="Wijzigen">
</form>
<?php
}
?>
Code niet gecheckt, er kunnen fouten inzitten.
Ik zou er naar kijken, in ieder geval bedankt
Geen probleem. Als er problemen zijn even melden.
Ik wilde dit eigenlijk met radiobuttons doen. En dan moet t helemaal anders zijn gok ik
Welke problemen doen zich voor?
C Stonebakers op 23/10/2013 15:20:19:
Ik wilde dit eigenlijk met radiobuttons doen. En dan moet t helemaal anders zijn gok ik
Checked is bij radio buttons het zelfde als bij checkbox.
Code (php)
Gewijzigd op 23/10/2013 16:18:40 door Michael -