Php 使用表中特定行的id编辑该行

Php 使用表中特定行的id编辑该行,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我已经使用php以表格的形式显示了数据库中的一些值。表的一列保留用于编辑。我希望表格的每一行都可以编辑 编辑代码为 echo"<td class='success'><button class='btn blue' data-toggle='modal' data-target='#myeditModal'>Edit </button></td>"; echo“编辑”; 模态分析中使用的代码是 <div class="modal fade

我已经使用php以表格的形式显示了数据库中的一些值。表的一列保留用于编辑。我希望表格的每一行都可以编辑

编辑代码为

echo"<td class='success'><button class='btn blue' data-toggle='modal' data-target='#myeditModal'>Edit </button></td>";
echo“编辑”;
模态分析中使用的代码是

<div class="modal fade" id="myeditModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                <h4 class="modal-title" id="myModalLabel">Edut Treatment</h4>
            </div>

            <div class="modal-body">
                <form class="form-horizontal" role="form" action="edit.php?id="$row['id']"" enctype="multipart/form-data" method="post">
                    <div class="form-group">
                        <label class="col-lg-4 control-label"> Name</label>
                            <div class="col-lg-6">
                                <input class="form-control" value="" type="text" name="name" >
                            </div>
                    </div>

                    <div class="form-group">
                    <label class="col-md-3 control-label"></label>
                        <div class="col-md-8">
                            <input class="btn btn-primary" value="Save Changes" type="submit" name="submit">

                            <span></span>
                        </div>  
                    </div>
                </form>

            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

&时代;接近
教育治疗
名称
接近
edit.php页面的代码是

<?php
include('admin_session.php');
$con=mysqli_connect("localhost","root","","db");

// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$id = $_GET['id'];

mysqli_query($con,"UPDATE treatment_type SET name='".$name.'" WHERE id='".$id."'");
mysqli_close($con);
header("Location: abc.php");
?> 

按照您现在的方式,您需要更改为此

 <form class="form-horizontal" role="form" action="edit.php?id='<?php echo $row['id'];?>'" enctype="multipart/form-data" method="post">

如果您能够调用URL,那么就可以了。很可能是因为UPDATE语句中的这一行:

WHERE id='".$id."'");
          ^^^^^^^
其次,正确地回显行id:

action="edit.php?id=<?php echo $row['id']; ?>"

你能显示定义和$row的var转储吗?我想说,你必须使用javascript或jquery才能将行传递给edit模式,然后执行ajax调用来显示编辑页面。否则,您将向您的服务器输出多个模式页面page@Arif_suhail_123你是对的!8票?我只是看不到它…@Arif_suhail_123是的,我理解它的流动。打开模式时,它将显示一个包含所有字段的表单。我认为主要的问题是
echo$row['id']。由于
id
没有正确回显,因此在提交时,表单无法很好地发送id。@Arif_suhail_123,由于我们不知道OP如何将id回显到表单中,因此需要解决一些缺少的部分。事实上,凯尔上面的回答是好的,如果OP提出并使用我们的答案,这两个问题都应该得到解决。不用担心,没有冒犯:)@Ghost我仍然遇到同样的问题,在使用prepared语句时,我在分析错误时出错:语法错误,意外“;”在更新查询中,我无法删除it@Sam只需删除打字错误并检查revision@Ghost现在我没有收到任何错误,但url仍然存在。Id未获取值我仍然获取相同的url和错误解析错误:语法错误,意外'“'在update queryWell中,显然没有显示如何获得结果并循环将$row变量应用于表单。行似乎什么都没有。您需要使用mysql\u fetch\u数组并循环它
WHERE id='".$id."'");
          ^^^^^^^
action="edit.php?id=<?php echo $row['id']; ?>"
if(isset($_GET['id'], $_GET['name'])) {
    $con = mysqli_connect("localhost","root","","db");

    // Check connection
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $id = $_GET['id'];
    $name = $_GET['name'];

    $sql = 'UPDATE treatment_type SET name = ? WHERE id = ?';
    $update = $con->prepare($sql);
    $update->bind_param('si', $name, $id);
    $update->execute();

    if($update->affected_rows > 0) {
        header("Location: abc.php");
    } else {
        echo 'did not update';
    }   
}