php - 如何获取ID

标签 php jquery mysql

我不知道如何从我想要更新的项目中获取 ID。它是这样的。当我点击这个按钮时

<button class="btn"><a href="bookUpdateUI.php?id=<?php echo urlencode($id);?>">Update<a />

我的页面将显示与所选项目 ID 匹配的项目描述。在我的代码中,它不识别 id,而是显示数据库中列出的所有项目。它还给了我一个 Notice , Undefined 索引。我做错了什么?我怎样才能使它工作?

查询:

public function requestID($id,$table){

     $q="SELECT * FROM $table WHERE id = :id";
     $stmt = $this->con->prepare($q);
     $stmt->execute(array(':id'=>$id));
     $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     return $result;
 }

bookUpdateUI.php:

    <?php
    session_start();
    include_once "../styles/header-menu-out.php"; 
    include "dbconnection.php";

    function __autoload($class){
    include_once("../main/".$class.".php");}
    $code = new codex;  
    try {
            $books = $code->requestID($_POST['id'], "book_info");
            $books = $code->showData("book_info");
    }catch (PDOException $e)
            {
                echo $e->getMessage();
            }

?>



<html>
<head></head>
<body>
    <form action="bookUpdate.php" method="POST" id="edit_form">
    <table>
    <?php foreach ($books as $book_info):?>
    <tr><td><input type="Hidden" name="id" value="<?php echo $book_info['id']; ?>"/></td></tr>
    <tr><td>Title</td><td><input type="text" name="title" value="<?php echo $book_info['title']; ?>"/></td></tr>
    <tr><td>Author</td><td><input type="text" name="author" value="<?php echo $book_info['author']; ?>"/></td></tr>
    <tr><td>ISBN</td><td><input type="text" name="isbn" value="<?php echo $book_info['isbn']; ?>"/></td></tr>
    <tr><td>Publisher</td><td><input type="text" name="publisher" value="<?php echo $book_info['publisher']; ?>"/></td></tr>
    <tr><td>Language</td><td><input type="text" name="language" value="<?php echo $book_info['language']; ?>"/></td></tr>
    <tr>
        <td>Genre</td>
        <td><select name="genre">
                    <option value="<?php echo $book_info['genre']; ?>"><?php echo $book_info['genre']; ?></option>
                    <option value="Non-Fiction">Non-Fiction</option>
                    <option value="Fiction">Fiction</option>
                    <option value="Educational">Educational</option>
                    <option value="Reserved">Reserved</option>
                    <option value="Instructional Materials">Instructional Materials</option>
            </select>
        </td>
    </tr>
    <tr><td>Quantity</td><td><input type="text" name="quantity" value="<?php echo $book_info['quantity']; ?>"/></td></tr>   

    <?php endforeach; ?>

    <tr>
        <td></td>
        <td>
        <input type="submit" value="Update" name="update"/>
        <a href="../bookDeleteUI.php"><input type="button" value="Cancel"/></a></td>
    </tr>
    </table>

    </form>
</body>
</html>

最佳答案

除了您正在使用 $books 变量做一些奇怪的事情之外,由于 URL(与表单不同)不是 POST,它不会出现在 $_POST 中 super 全局。 (您必须改为使用 $_GET,或者用 $_REQUEST super 全局覆盖这两个基础。)

关于php - 如何获取ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073284/

相关文章:

javascript - 将按钮移出容器时,单击时克隆 div 会中断吗?

MySQL 更多表或更多行

php - Internet Explorer 中的 JavaScript DOM 错误

php - where 子句中的未知列

javascript - 动画 scrollTop 突然停止工作

javascript - 无需用户在浏览器中进行交互即可触发输入值的更改

php - 匹配到单行

php - 如何在预订时屏蔽餐 table ?

php - fgets()超时

php - 是否可以将 Bootstrap 字形图标放入 {{ Form::submit (' ' )}} - Laravel