我想用一个处于选中状态的复选框来更新数据库。
- 如果选中,则使用1更新数据库
- 否则,如果未选中,则使用0更新它
它工作正常,但如果不检查它就不起作用。
<?php
include('lib/db.php');
$facebook_id ="10001088";
$query1 = "SELECT `video`,`quran`,`medical`,`groups` FROM `man_facebook`.`users` WHERE `facebook_id`='$facebook_id'";
$result1 = mysql_query($query1);
while($result = mysql_fetch_array($result1))
{
$video = $result['video'];
$quran = $result['quran'];
$medical = $result['medical'];
$groups = $result['groups'];
echo $video;
// echo $quran;
?>
<form method="post" action="<? echo $_SERVER['REQUEST_URI']; ?>" >
<input type="checkbox" name="video" id="video" value="<?echo $video;?>" <?php
if($video == '1'){
echo "checked='checked'";
}
else {}
echo "/>"
?>
<input type="submit" name="submit" value="Submit">
</form>
<?php
}
if (isset($_POST['submit']))
{
if (is_numeric($_POST['video']) && $_POST['video'] <2 )
{
$video1 = isset($_POST['video']) ? '1' : '0';
echo $video1;
$query = mysql_query("UPDATE `man_facebook`.`users`
SET `video` ='$video1'
WHERE `facebook_id`='$facebook_id'");
$video = $video1;
echo '<meta http-equiv="refresh" content="0" />';
}
}
//echo $query;
//header("Location: updatesql.php");
?>
我也可以使用jquery来顺利更新吗?
我觉得这个部分有点奇怪:
if (is_numeric($_POST['video']) && $_POST['video'] <2 )
{
$video1 = isset($_POST['video']) ? '1' : '0';
首先检查它是否为数字,然后检查它是否已设置。如果没有设置,那么If将自动变为false。换句话说,$video
总是1。假设$video
只能是true/false(或者它可能是"checked"/"unchecked",不是很确定),这样使用它:
$video1 = ($video ? '1' : '0');
希望我成功地发现了这个问题:)
更新
<input type="checkbox" name="video" id="video" value="video" <?php
if($video == '1'){
echo "checked='checked'";
}
echo "/>";
...
if (isset($_POST['submit']))
{
echo $_POST['video']; // again, please tell what it outputs here!!!
$video1 = (($_POST['video'] == "video") ? '1' : '0');
复选框更新
if (isset($_POST["send"]) && $_POST["send"] == "ok") {
foreach ($_POST['membre'] as $id => $data) {
mysql_query("UPDATE tablename SET param1='" . $data['param'] . "' WHERE id='" . $id . "'");
}
}
<form>
<input type="hidden" name="send" value="ok" />
<td class="cel2" style=" width: 100px;">
<input name="membre[<?php print $val['id']; ?>][param]" type="checkbox" style="margin-top: 7px; width: 30px;" value="1" id="param" <?php if ($val['p'] == '1') print 'checked'; ?> />
</td>
</form>