我是一名php / mysql新手,致力于开发票应用程序。我有一个summary.php页面,其中我使用php查询数据库并使用检索到的数据呈现一个表:
< ?php
mysql_connect ... [ snip ] ...
// retrieve all data in the 'Invoices' table ...
$result = mysql_query("SELECT * FROM Invoices") or die(mysql_error());
// ... and store each record in a variable:
$row = mysql_fetch_array($result);
我的表是:
<table class="record-summary">
<form action="/edit.php" method="post">
<tr>
<th ...
[ snip: more table headers ] ...
<?php
$controls = "<input type=\"submit\" value=\"details.php\" /><input type=\"submit\" value=\"edit.php\" />";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td class=\"id\">". $row['ID']. "</td>";
echo "<td class=\"inv\">". $row['invoiceNumber']. "</td>";
[ snip: more data cells ] ...
echo "<td class=\"controls\">". $controls . "</td>";
每行中的最后一个单元格(td.controls)包含两个提交,一个链接到详细视图(details.php),另一个链接到表单页面(edit.php)。我的目标是使用记录/行的值填充任一页面。我需要帮助的地方是如何使用$ row变量来携带这个数组,例如edit.php,并填充表单中的字段(实际上我很确定我有表单输入的值属性的语法) 。 details.php和edit.php都有 all 表示的记录中的数据字段,但在summary.php中只显示了一部分字段(ergo,'summary.php')。所以我的问题是:
如何确保在单击任一按钮时,$ row包含给定记录的值,以及如何将数组推送到details.php或edit.php中?
非常感谢,
的src
答案 0 :(得分:3)
您可以将ID传递给edit.php
和details.php
但不包含表单,只有两个指向edit.php?id=
和details.php?id=
的链接:
<?php
// $controls = "<input type=\"submit\" value=\"details.php\" /><input type=\"submit\" value=\"edit.php\" />"; <-- is not necessary
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td class=\"id\"><a href=\"details.php?id=". $row['ID']. "\">details.php</a> | <a href=\"edit.php?id=". $row['ID']. "\">edit.php</a></td>";
echo "<td class=\"inv\">". $row['invoiceNumber']. "</td>";
// [ snip: more data cells ] ...
// echo "<td class=\"controls\">". $controls . "</td>"; <-- is not necessary
您可以使用id:
获取数据//....
if (isset($_GET['id']) && is_numeric($_GET['id']))
{
$id = $_GET['id'];
}
else
{
die("There is no id.");
}
$sql = sprintf("SELECT * FROM Invoices WHERE id = %s", $id);
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
答案 1 :(得分:0)
echo "<input type=\"hidden\" name=\"row\" value=\"" . $row . "\"/>";
在您的循环中包含此内容,您的表单的“操作”脚本将能够通过$row
访问相应的$_POST['row']
变量。