使用php中的复选框更新mysql数据库列中的值
这个问题在这里已经有了答案:
问题是你在第7行的回声。你在<?php echo ... ?>
做<?php echo ... ?>
。 您应该将值连接到字符串中。
代替:
echo '<td><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"><input type="hidden" name="id" value="<?php echo $id; ?>" /><input type="checkbox" name="checkinsat" value="1"<?php if($data['checkinsat'] == '1') echo 'checked'; ?>/><input type="submit" ></form></td>';
尝试这个:
$checked = ($data['checkinsat'] == '1') ? 'checked' : '';
echo '<td><form method="post" action="'.$_SERVER['PHP_SELF'].'"><input type="hidden" name="id" value="'. $id.'" /><input type="checkbox" name="checkinsat" value="1" '.$checked.'/><input type="submit" ></form></td>';
不要使用php标签将参数echo
显到表单中,而是使用字符串连接。
更改:
echo '<td><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"><input type="hidden" name="id" value="<?php echo $id; ?>" /><input type="checkbox" name="checkinsat" value="1"<?php if($data['checkinsat'] == '1') echo 'checked'; ?>/><input type="submit" ></form></td>';
至:
echo '<td><form method="post" action="'. $_SERVER['PHP_SELF'] .'"> <input type="hidden" name="id" value="'. $id .'" /><input type="checkbox" name="checkinsat" value="1"'. ($data['checkinsat'] == '1'? 'checked' : '') .'<input type="submit" ></form></td>';
此外,不要使用mysql_*
函数 - 它已被弃用(请参阅红色框),并且容易受到sql注入的影响。 使用PDO或MySQLi。
你在这里有错字
echo '<td><form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"><input type="hidden" name="id" value="<?php echo $id; ?>" /><input type="checkbox" name="checkinsat" value="1"<?php if($data['checkinsat'] == '1') echo 'checked'; ?>/><input type="submit" ></form></td>';
应该
echo '<td><form method="post" action="'.$_SERVER['PHP_SELF']'"><input type="hidden" name="id" value="'.$id.'" /><input type="checkbox" name="checkinsat" value="1"';
if($data['checkinsat'] == '1')
echo 'checked />';
echo '<input type="submit" ></form></td>';
你正在用PHP标签写<?PHP ... ?>
,这是导致这个错误
上一篇: Update value in mysql database column with checkbox in php