Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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数据,该按钮在URL上传递id?_Php_Html_Jquery_Css_Ajax - Fatal编程技术网

Php 如何使用主页上的按钮更新Mysql数据,该按钮在URL上传递id?

Php 如何使用主页上的按钮更新Mysql数据,该按钮在URL上传递id?,php,html,jquery,css,ajax,Php,Html,Jquery,Css,Ajax,我已经在主页上创建了一个编辑项弹出引导模式。现在我想要的是使用PHP更新所选项目的详细信息 在这里,我通过URL传递项目id以选择项目 现在,当我按下编辑按钮时,它会打开一个弹出窗口,其中包含所有详细信息(已填写),但当我尝试单击保存更改按钮时,它不会执行任何操作,并且我的数据不会更新。我也使用了POST方法,但它不起作用 这是打开弹出模式的按钮 <?php $res= mysqli_query($db,"SELECT* FROM `books`;"); if(my

我已经在主页上创建了一个编辑项弹出引导模式。现在我想要的是使用PHP更新所选项目的详细信息

在这里,我通过URL传递项目id以选择项目

现在,当我按下编辑按钮时,它会打开一个弹出窗口,其中包含所有详细信息(已填写),但当我尝试单击保存更改按钮时,它不会执行任何操作,并且我的数据不会更新。我也使用了POST方法,但它不起作用

这是打开弹出模式的按钮

<?php 
$res= mysqli_query($db,"SELECT* FROM `books`;");

if(mysqli_num_rows($res)>0){
  while($row= mysqli_fetch_assoc($res)){
    if($row!=0)
    {
    $bid= $row['book_id'];
 ?>
<ul>
<li>
 <a onclick="$('#editModal<?php echo $row['book_id']?>').modal('show');" class="btn-show-modal edit-btn" data-toggle="modal"><i style="padding-right: 140px;" class="fas fa-edit"></i></a>
</li>


<!--Here is the Popup Modal for Edit -->

<div id="editModal<?php echo $row['book_id']?>" class="modal fade" tabindex="-1" role="dialog">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Edit This Book</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <form action="updatebook.php" method="POST">
          <div class="form-group">
            <label for="isbn" class="col-form-label">ISBN</label>
            <input type="text" class="form-control" name="isbn" value="<?php echo $row['isbn'];?>">
          </div>
          <div class="form-group">
            <label for="title" class="col-form-label">Enter Book Title</label>
            <input type="text" class="form-control" name="title" value="<?php echo $row['title'];?>">
          </div>
            <div class="form-group">
            <label for="author" class="col-form-label">Enter Author Name</label>
            <input type="text" class="form-control" name="author" value="<?php echo $row['author'];?>">
          </div>
            <div class="form-group">
            <label for="image" class="col-form-label">Image URL</label>
            <input type="text" class="form-control" name="image" value="<?php echo $row['image'];?>">
          </div>
            <div class="form-group">
            <label for="description" class="col-form-label">Enter Book Description</label>
            <textarea class="form-control" name="description" value="<?php echo $row['description'];?>"></textarea>
          </div>
            <div class="form-group">
            <label for="url" class="col-form-label">Book URL</label>
            <input type="text" class="form-control" name="url" value="<?php echo $row['url'];?>"></textarea>
          </div>
        </form>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <a href="updatebook.php?id=<?php echo $row['book_id']?>"><button type="button" class="btn btn-primary" name="save">Save Changes</button></a>
      </div>
    </div>
  </div>
</div>


<?php 
}
}
}

else
{
   echo"<h1 style='color: white;font-size:58px; font-family: Poppins; font-weight: 600;' class=m-2>U!Oh Nothing Found Here!</h1>
<button onclick=\"window.location.href='add_books_form.php'\" class=\"btn btn-info bg-primary m-5\">Contribute</button>";
 }
?>

</ul>

  • 将保存
    按钮
    类型更改为“
    提交
    ”,并删除
    超链接
  • 使用
    作为
    模态正文
    模态页脚
    的一部分,因此提交按钮将成为其一部分
  • book\u id
    放在一个隐藏字段中,这样它将成为
    POST
    的一部分
  • 查看下面的模式代码:


    不知道为什么我无法更新项目。请帮忙!警告:您完全可以使用参数化的预处理语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。为什么要将“保存”按钮包装在超链接中?这毫无意义。它将导致GET请求,但您的PHP需要一个POST。它没有正确提交您的表单。摆脱a href,将按钮转换为type=“submit”,然后重试。任何PHP/HTML表单教程都会向您展示构造表单的标准方法,包括submit按钮。我不知道你为什么决定采取不同的方法。@ADyson好吧,让我来check@codewithdev提交按钮也不在表单中
    
    <?php
    
    include "connection.inc.php";
    
    if(isset($_POST['save']))
    {
        $id= $_POST['id'];
        $isbn= $_POST['isbn'];
        $title= $_POST['title'];
        $author= $_POST['author'];
        $image= $_POST['image'];
        $desc= $_POST['description'];
        $url= $_POST['url'];
    
    $res = mysqli_query($db, "UPDATE books SET isbn= '$isbn', title= '$title', author= '$author',image= '$image', description= '$desc', url= '$url' WHERE book_id= '$id'");
    ?>
    if($res) 
    {
        <script type="text/javascript"> 
            alert("Data Updated Successfully"); 
            window.location.href= "home.php";
        </script>
    }
    else
    {
        <script>
        alert("Not Updated!");
            window.location.href="home.php";
        </script>
    }
    <?php
    }
    ?>