如果有人取消选中或选中复选框并更新布尔字段,我有一个问题如何更新数据库 在mysql中?对于遇到这个问题的几天,因为问题我不知道如何制作表格或检查是否 它是在while循环中验证这里是我的代码:
<?
$result= mysql_query("SELECT * FROM cars");
$counter = 1;
while($row = mysql_fetch_array($result)) {
echo '<tr>
<td>' . $counter++ . '</td>
<td><input type="checkbox"';
if ($row['show'] == true) {
echo 'checked></td>';
} else {
echo 'unchecked></td>';
}
echo '<td><img src="../xml/'.$row['cars_id'].'-1.JPG" width="120px"></td>';
echo "<td><h3> ", $row['brand']," " . $row['model'], " " . $row['type'],
" € " . $row['price'], " </h3></td>";
echo '</tr>';
}
?>
P.S。我知道mysqli或pdo的mysql,但它是一个巨大的脚本......
答案 0 :(得分:0)
哦!这里没有问题是解决方案: 尝试使用jquery和ajax。例如。
if ( $("#chkbx").prop('checked') == true) {
// do ajax call to update the database
} else {
// do anything if check box is unchecked
}
我不是在编写ajax调用,只需看看jquery ajax手册。如果你遇到任何问题,请回来。
请参阅上面的代码将在DOM中创建一个事件监听器,以便在选中复选框时应触发事件。 现在我正在扩展我的代码以向您显示ajax调用。
if ( $("#chkbx").prop('checked') == true) {
$.ajax ({
method: "POST", // type:post or get
url: "test.php", // your php file
data: { name: "test"} // data that I want to send
}).done(function( msg ) {
alert( "Data Saved: " + msg ); // after success show msg
})
}
现在在php文件中执行数据库的更新部分或任何你想要的。如果php文件正确执行,done函数将显示您返回的消息。你可以使用ajax中的许多函数。也尝试使用jquery它方便易用。
答案 1 :(得分:0)
非常感谢,现在我只需关注数据库在Ajax中的工作原理
这是我添加的内容,我可以回应一下,它现在可以正常工作,其余的是更改布尔值行['show']
<script type="text/javascript">
function change_checkbox(el){
if(el.checked){
alert("On");
}else{
alert("Off");
}
}
答案 2 :(得分:0)
我相当远,除了1个特殊的事情之外一切都在工作。
我现在面临的问题是我无法将复选框中的DATA ID发送到test.php页面,我该怎么做才是正确的,这是我到目前为止所提出的:
<?
$result= mysql_query("SELECT * FROM cars");
$counter = 1;
while($row = mysql_fetch_array($result)){
echo '<tr>
<td>' . $counter++ . '</td>
<td><input id="'.$row['cars_id'].'" onchange="change_checkbox(this)" type="checkbox"';
if ($row['toon'] == true){
echo 'checked></td>';
}else
{
echo 'unchecked></td>';
}
echo '<td><img src="../xml/'.$row['cars_id'].'-1.JPG" width="120px"></td>';
echo "<td><h3> ", $row['brand']," " . $row['model'], " " . $row['type'], " € " . $row['price'], " </h3></td>";
echo '</tr>';
}
?>
</tbody>
</table>
</section>
<script type="text/javascript">
function change_checkbox(el){
var id = null;
if(el.checked){
alert("On");
$.ajax ({
method: "POST", // type:post or get
url: "test.php", // your php file
data: { id: id } // data that I want to send
}).done(function( msg ) {
alert( "Data Saved: " + msg ); // after success show msg
})
}else{
alert("Off");
$.ajax ({
method: "POST", // type:post or get
url: "test.php", // your php file
data: { name: "test"} // data that I want to send
}).done(function( msg ) {
alert( "Data Saved: " + msg ); // after success show msg
})
}
}