Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用表单更新mysql数据库_Php_Html_Mysql_Forms - Fatal编程技术网

Php 使用表单更新mysql数据库

Php 使用表单更新mysql数据库,php,html,mysql,forms,Php,Html,Mysql,Forms,这个代码有什么问题?我尝试了几次,但我的数据库在提交后没有更新。。我有一个表,在最后一列中有复选框。复选框正确地显示了数据库中的值,但我也希望使用复选框更新数据库。因此,如果值为1,则复选框处于选中状态,但我希望能够取消选中该复选框或选中另一个未选中的复选框,然后单击下面的提交按钮以更改数据库中的值 $sql = "SELECT * FROM registered ORDER BY datum" ; $myData=mysql_query($sql) ; ?> <table

这个代码有什么问题?我尝试了几次,但我的数据库在提交后没有更新。。我有一个表,在最后一列中有复选框。复选框正确地显示了数据库中的值,但我也希望使用复选框更新数据库。因此,如果值为1,则复选框处于选中状态,但我希望能够取消选中该复选框或选中另一个未选中的复选框,然后单击下面的提交按钮以更改数据库中的值

$sql = "SELECT * FROM registered ORDER BY datum"   ; 
$myData=mysql_query($sql) ;
?>

<table width="1100" border="1">
<tr>
    <th style="text-align:center; padding:0 10px"><b>naam</th>
    <th style="text-align:center; padding:0 10px">betaald?</b></th>
</tr>

<?php

if(isset($_POST['submit'])){

    $betaald = $_POST['betaald'];

    mysql_query($con,"UPDATE registered SET betaald='$betaald'");

    header("Location: index.php");

} ?>


<?php

    while($record = mysql_fetch_array($myData))
    {
        ?>

        <tr>
            <td> <?php echo  $record['naam'] ?></td>
           <form method="post" action="<?php echo $PHP_SELF;?>"> 
            <td> <input type='checkbox' name='betaald' id='betaald' value='1' <?php echo ($record['betaald']==1 ? 'checked' : '')?>> </td>

        </tr>

<?php

    }

    mysql_close($con);

?>


</table></p>

<input style="border:1px solid black" name="submit" type="submit" value="Save changes">

</form>

您向mysql\u查询传递了错误的参数

语法为mysql\u query$query;第二个参数是可选的


从函数中删除$con。

根据php.net的手册,第一个参数是query,第二个参数是link identifieras,它是可选的$con


混合mysql\u查询字符串$query[,resource$link\u identifier=NULL]

数据库中有多少条记录?db中的主键是什么?一方面,ID应该是唯一的,在你的另一个问题中甚至有人这样说。那么这行是错误的mysql_query$con,UPDATE registed SET betaald='$betaald';在您应该使用MySQLi而不是MySQL之前;非常感谢。我更进一步:现在每次我按下sumbit按钮,它都会给所有行值“1”,所以每个复选框都被选中。在sumbit上,它只给每一行值“1”。无论我勾选或取消勾选什么,它总是给所有行相同的值,然后做一件事。推荐header函数并打印更新查询。我完成了一步:现在每次我按下sumbit按钮,它都给所有行值“1”,因此每个复选框都被选中。在sumbit上,它只给每一行值“1”。无论我勾选或取消勾选什么,它总是为所有行提供相同的值。您的更新查询工作并更新了所有行。这就是为什么在您的概念中所有值都是相同的。使用主键/唯一键在查询中添加where子句以更新特定记录您可以在表名之前添加db名称,例如registered to db_name.registered。如果没有帮助,您可以在查询后尝试echo mysql\u errno和mysql\u error