【发布时间】:2014-03-26 15:24:22
【问题描述】:
我是 PHP 新手,很抱歉缺少正确的术语。我目前有一个 php 文件,它在浏览器中显示我的数据库表并提供编辑记录的选项。但是我不知道如何将编辑按钮连接到特定记录并将其带到第二个 php 页面进行编辑。
基本上我如何让我点击编辑的记录进入我的第二个 PHP 文件!
与我希望我的 php 页面运行方式类似的代码链接是 http://www.shotdev.com/php/php-oracle/php-oracle-oci8-edit-update-data/
任何建议将不胜感激。
这是迄今为止我的第一个 PHP 脚本的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>ShotDev.Com Tutorial</title>
</head>
<body>
<?php
$dbuser = "scott";
$dbpassword = "tiger";
$db = "orabis";
$conn = oci_connect($dbuser,$dbpassword,$db);
$sql = "SELECT * FROM ATTENDEES";
$objParse = oci_parse ($conn, $sql);
oci_execute ($objParse,OCI_DEFAULT);
print '<table border="1">';
print '<tr>';
print '<th>FirstName</th>';
print '<th > LastName </th>';
print '<th > Email </th>';
print '<th > Address </th>';
print '<th > Company </th>';
print '<th > Title </th> ' ;
print '<th > City </th> ' ;
print '<th > State </th> ';
print '<th > Zip </th> ';
print '<th> Country </th>';
print '<th> Phone </th> ';
print '<th> Edit </th>';
print '</tr>';
while ($row = oci_fetch_array($objParse, OCI_RETURN_NULLS+OCI_ASSOC)) {
foreach ($row as $item) {
print '<td>'.($item !== null ? htmlentities($item, ENT_QUOTES) : ' ').'</td>';
}
print '<td><a href="modify_attendee2.php">Edit</a></td>';
print '</tr>';
}
print '</table>';
oci_close($conn);
?>
</body>
</html>
【问题讨论】:
-
您需要一个主键列。
ATTENDEES有自动递增的列吗?另外,我当然希望这些不是您数据库的真实凭据,但如果是,那么您绝对应该在接下来的几分钟内在您的数据库中更改它们。 -
顺便说一句,这条线对你很重要
<td align="center"><a href="php_oracle_update2.php?CusID=<?=$objResult["CUSTOMERID"];?>">Edit</a></td> -
幸运的是每个人,不!仅针对大学项目显示服务器端功能,更新与会者记录是目标之一。我的表非常简单,没有主键,但我想只使用电子邮件。在我的表单中,它的名称是参加者电子邮件。
-
我强烈建议使用自动递增字段作为主键来实现设计,因为它会让您在这个项目和未来项目的数据库规范化方面走上正轨。如果这是真的,那么您将如何处理只想使用相同电子邮件的夫妻?...无论如何,如果您坚持使用电子邮件作为主键,那么在您的架构中指定它以确保您永远不会意外插入重复项。那么就做
'href="modify_attendee2.php?email='.urlencode(row['attendee_email']).'"' -
感谢 MonkeyZeus 的帮助和建议。