实现 "Edit" 按钮
在 editWishList.php 中,通过一个循环( while 语句)实现包含许愿者愿望的表;从数据库中选择愿望时,该循环将显示包含愿望的行。添加 "Edit" 按钮作为行中最右侧的单元格。
要通过 HTML 输入窗体传输愿望 ID,请将其存储在变量中。在 `while ` 循环末尾,输入以下代码行:
while ($row = mysqli_fetch_array($result)):
echo "
" . htmlentities($row['description']) . "";echo "
" . htmlentities($row['due_date']) . "";$wishID = $row['id'];
echo "
WishID=" . $wishID . "";//The loop is left open
?>
实现 "Edit" 按钮。在结束 标记前面,使用 editWish 窗体添加另一个窗体元格。该窗体包含一个按钮组件和一个隐藏组件;在单击该按钮时,该隐藏组件将发送 $wishID 值。(显示的是 MySQL 数据库代码,但为 Oracle 数据库添加的代码是相同的并位于相同的位置。)
Hello <?php echo $_SESSION["user"]; ?>
Item | Due Date |
---|
require_once("Includes/db.php");
$wisherID = WishDB::getInstance()->get_wisher_id_by_name($_SESSION["user"]);
$result = WishDB::getInstance()->get_wishes_by_wisher_id($wisherID);
while ($row = mysqli_fetch_array($result)) {
echo "
" . htmlentities($row["description"]) . "";echo "
" . htmlentities($row["due_date"]) . "\n";}
mysqli_free_result($result);
?>
更改 while 循环以使用替代语法。这可简化在 while 循环中执行 HTML 块的过程。在替代 while 循环语法中,左花括号 { 将替换为冒号 (:),右花括号 } 将替换为 endwhile; 语句。将左花括号替换为冒号,删除右花括号,然后在结束 标记前面使用 endwhile; 语句添加一个新 PHP 块。这会将新表单元格包含在 while 循环中。将释放结果/释放语句代码移到 endwhile; 语句后面。(同样,显示的是 MySQL 数据库代码,但 Oracle 数据库的代码更改和位置是相同的。)
while ($row = mysqli_fetch_array($result)){:
echo "
" . htmlentities($row["description"]) . "";echo "
" . htmlentities($row["due_date"]) . "\n";}
mysqli_free_result($result);
?>
endwhile;
mysqli_free_result($result);
?>
.
修复表行语法。将行结束 \n 字符从截止日期回显语句移到新回显语句(紧靠 endwhile; 上面)。
while ($row = mysqli_fetch_array($result)):
echo "
" . htmlentities($row["description"]) . "";echo "
" . htmlentities($row["due_date"]) . "\n";?>
echo "\n";
endwhile;
mysqli_free_result($result);
?>
.
整个表(包括将 "Edit" 按钮放在 while 循环内的窗体)现在显示如下:
对于 MySQL 数据库:
Item | Due Date |
---|
require_once("Includes/db.php");
$wisherID = WishDB::getInstance()->get_wisher_id_by_name($_SESSION["user"]);
$result = WishDB::getInstance()->get_wishes_by_wisher_id($wisherID);
while($row = mysqli_fetch_array($result)):
echo "
" . htmlentities($row['description']) . "";echo "
" . htmlentities($row['due_date']) . "";$wishID = $row["id"];
?>
echo "
\n";endwhile;
mysqli_free_result($result);
?>
对于 Oracle 数据库:
Item | Due Date |
---|
require_once("Includes/db.php");
$wisherID = WishDB::getInstance()->get_wisher_id_by_name($_SESSION["user"]);
$stid = WishDB::getInstance()->get_wishes_by_wisher_id($wisherID);
while ($row = oci_fetch_array($stid)):
echo "
" . htmlentities($row["DESCRIPTION"]) . "";echo "
" . htmlentities($row["DUE_DATE"]) . "";$wishID = $row["ID"];
?>
echo "
\n";endwhile;
oci_free_statement($stid);
?>