我不知道如何从我想要更新的项目中获取 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/