Welcome to WebmasterWorld Guest from 54.157.222.62

Forum Moderators: coopster & jatar k

Message Too Old, No Replies

Checbox query

How to update Db when user deselects checkbox

   
12:55 pm on May 1, 2004 (gmt 0)

10+ Year Member



Hi all,

I've got this annoying problem, of how do you go about when a user deslects a checkbox, and then update the DB accordingly.

What I am trying to achieve is when a user selects a checkbox it places a 1 in the DB, if it deselects it then it place a 0 in the DB

Code:

if ($submit == 'Edit')
{

if (isset($live))
{
// obviously I need to write some code here so that a user a deselect the checkbox

mysql_query("update tablename
set live=1
where user_num=$user_num");
}
}

<form method="post" action=show.php>
<input type=checkbox name=live value=1>
<input type="hidden" name=user_num value=<? echo $user_num?>>
<input type="submit" name="submit" value="Edit">
</form>

Many thanks

2:29 pm on May 1, 2004 (gmt 0)

10+ Year Member



The problem:

No value is passed when a checkbox is not selected. When it is selected you either get "on" (if no value is set) or the value assigned to the checkbox.

The solution:

The only way to record both positive and negative input from checkboxes is to loop through the array of possible inputs and note which appear in the $_GET or $_POST array.

I suggest something like:

$box1checked = ($box1checked == "on") ? 1 : 0;

;)

2:39 pm on May 1, 2004 (gmt 0)

10+ Year Member



Thanks dcrombie,

Can you explain how I would implement this in the code I've shown you?

Many thanks

Cheers :o)

2:41 pm on May 1, 2004 (gmt 0)

10+ Year Member



if (isset($live))
{
$live = 1;
}
else
{
$live = 0;
}
mysql_query("update tablename set live=$live
where user_num=$user_num");
2:57 pm on May 1, 2004 (gmt 0)

10+ Year Member



Thanks again Paul,

That did the trick :o)

Didn't realise it was relatively straightforward.

Thank yoooo