繁体   English   中英

需要在引导程序中使用模式编辑表的一行

[英]need to edit a row of a table using modal in bootstrap

我有一个网站,管理员登录后可以在该网站上编辑在其个人资料上显示的“便利设施”列表。 我使用下面的代码创建了一个简单的表格来显示便利设施。

<?php
$con=mysqli_connect("abc.com","abc","abc","abc");// Check connection
if (mysqli_connect_errno()) 
  {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$result = mysqli_query($con,"SELECT * FROM amenities");
echo "<table class='table table-striped table-bordered table-hover'>
<thead>
  <tr>
    <th>amenities</th>
    <th>edit</th>
  </tr>
</thead>";
while($row = mysqli_fetch_array($result)) 
  {
    echo "<tbody data-link='row' class='rowlink'>";
    echo "<tr>";
    echo "<td>" . $row['amenities'] . "</td>";
    echo "<td> <a href='#edit' data-toggle='modal'> edit </a> </td>";
    echo "</tr>";
    echo "</tbody>";    
  }
    echo "</table>";
    mysqli_close($con);
?>

除了列表以外,我还尝试在“编辑”按钮后面合并一个模式。 显示表格的页面视图为:

id    amenities    edit
1     amenities1   edit
2     amenities2   edit

当管理员单击特定的编辑按钮(例如:放在commons1前面的编辑​​按钮)时,将显示一个模态,该模态将允许管理员仅编辑该便利设施(在我们的情况下为commons1)

用于Modal的代码为

<div class = "modal fade" id="edit" role="dialog">
    <div class = "modal-dialog">
        <div class = "modal-content">
            <div class = "modal-header">
                <h4> Edit Page </h4>
            </div>

            <div class="modal-body">
                <form role="form" action="edit_amenities.php" method="post">
                    <div class="form-group">
                        <label for="exampleInputEmail1">Name of Amenities</label>
                            <input type="email" class="form-control" id="exampleInputEmail1" placeholder="Email" name="amenities">
                    </div>

                    <input name="submit" type="submit" value=" Save ">              
                </form> 
            </div>  

            <div class="modal-footer">
                <a class="btn btn-primary" data-dismiss="modal"> Close </a>
            </div>
        </div>
    </div>  
</div>

在该表单的后端(edit_amenities.php)起作用的代码是:

<?php
include('admin_session.php');

$con=mysqli_connect("abc","abc","abc","abc");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$password = mysqli_real_escape_string($con, $_POST['amenities']);

$sql = "UPDATE amenities SET amenities='".$amenities."' where id='".$id."'";

if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
header("Location: admin_amenities.php");
exit;

mysqli_close($con);
?>

数据库视图是

id   amenities
1     q
2     a

我希望的是,当打开模态时,管理员可以输入一个新名称,该名称将替换旧名称并保存在数据库中。 但是我无法实现它。 希望有人能帮助我

您为什么不使用这样的内容,仅举一个例子:

<div class="modal-body">
  <form action="edit_amenities.php" method="post">
    <div class="form-group">
      <label for="exampleInputEmail1">Name of Amenities</label>
      <input type="text" class="form-control" name="update[amenities]">
    </div>

    <input name="submit" type="submit" value=" Save ">              
  </form> 
</div>  

和PHP:

if ($this->getRequest()->isPost()) {
  $post = $this->getRequest()->getPost();
}

$amenitie = $this->amenitie->fetchRow(
  $this->amenitie->select()->where('id = ?', $this->params['id'])
);
if ($amenitie) {
  foreach ($post['update'] as $key => $val) {
    $amenitie->{$key} = $val;
  }

  $amenitie->save();
}

编辑:在您的示例:

$sql = "UPDATE amenities SET amenities='".$amenities."'";

使用WHERE,然后在输入字段中输入要更新的便利设施的ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM