我是PHP的新手,所以请原谅我的简单问题(我甚至不确定如何询问它或我需要使用哪些关键字)。
基本上,我正在尝试更新数据库中的用户数据。我有一个用于列出所有客户的php(phpselect.php):
<html>
<body>
<?php
#
# Connect to the database
#
$conn=odbc_connect('database1','','');
if (!$conn)
{exit("Connection Failed: " . $conn);}
#
# SQL statements
#
$sql="SELECT * FROM customer";
$rs=odbc_exec($conn,$sql);
if (!$rs)
{exit("Error in SQL");}
#
# Make a table
#
echo "<table><tr>";
echo "<th>Action</th>";
echo "<th>Customer ID</th>";
echo "<th>Last Name</th>";
echo "<th>First Name</th>";
echo "<th>Middle Initial</th>";
echo "<th>Home Phone</th>";
echo "<th>Cell Phone</th>";
echo "<th>Date of Birth</th>";
echo "<th>Address</th>";
echo "<th>City</th>";
echo "<th>State</th>";
echo "<th>Zip Code</th>";
echo "<th>Employer</th>";
echo "<th>Referrer</th>";
echo "<th>Agent</th></tr>";
#
# Fetch records from SQL result-set
#
while (odbc_fetch_row($rs))
{
#
# Set field variables...
#
$cust_ID=odbc_result($rs,"cust_ID");
$cust_last=odbc_result($rs,"cust_last");
$cust_first=odbc_result($rs,"cust_first");
$cust_mi=odbc_result($rs,"cust_mi");
$home_phone=odbc_result($rs,"home_phone");
$cell_phone=odbc_result($rs,"cell_phone");
$DOB=odbc_result($rs,"DOB");
$street=odbc_result($rs,"street");
$city=odbc_result($rs,"city");
$state=odbc_result($rs,"state");
$zip_code=odbc_result($rs,"zip_code");
$employer=odbc_result($rs,"employer");
$referrer=odbc_result($rs,"referrer");
$agent_ID=odbc_result($rs,"agent_ID");
#
# ...and display them by variable name
#
echo "<tr>";
echo "<td>edit</td>";
echo "<td>$cust_ID</td>";
echo "<td>$cust_last</td>";
echo "<td>$cust_first</td>";
echo "<td>$cust_mi</td>";
echo "<td>$cust_last</td>";
echo "<td>$home_phone</td>";
echo "<td>$cell_phone</td>";
echo "<td>$DOB</td>";
echo "<td>$street</td>";
echo "<td>$city</td>";
echo "<td>$state</td>";
echo "<td>$zip_code</td>";
echo "<td>$employer</td>";
echo "<td>$referrer</td>";
echo "<td>$agent_ID</td></tr>";
}
#
# Close the connection to the database
#
odbc_close($conn);
#
# End the table
#
echo "</table>";
?>
</body>
</html>
...我试图在每一行添加一个链接('Update'),将该用户的信息(从数据库)发送到表单中的字段,以便要编辑的字段(phpinsert.php):
<html>
<body>
Enter Customer Information
<br>
(* indicates required fields)
<p>
<form action="phpinsert.php" method="post">
Last Name*: <input type="text" name="cust_last">
<br>
First Name*: <input type="text" name="cust_first">
<br>
Middle Initial: <input type="text" name="cust_mi">
<br>
Home Phone*: <input type="text" name="home_phone">
<br>
Cell Phone: <input type="text" name="cell_phone">
<br>
Date of Birth (mm/dd/yyyy)*: <input type="text" name="DOB">
<br>
Street Address: <input type="text" name="street">
<br>
City: <input type="text" name="city">
<br>
State: <input type="text" name="state">
<br>
Zip Code: <input type="text" name="zip_code">
<br>
Employer: <input type="text" name="employer">
<br>
Referrer: <input type="text" name="referrer">
<br>
<tr>
<td class="formLabel">Agent*:</td>
<td>
<select name="agent_ID" class="formEntry">
<option value="1">Guy Smiley</option></select>
</td>
</tr>
<br><br>
<input type="submit">
</form>
</body>
</html>
我不知道怎么做或者如何正确地问它?
感谢您的帮助。
答案 0 :(得分:2)
您可以将您的值发送到URL中的更新表单页面:
<?php
$info = "cust_id=".$cust_id."&cust_last=".$cust_last; //etc.
$url = "http://".$_SERVER['HTTP_HOST']."/phpinsert.php?".$info;
?>
<!-- html -->
<a href="<?php echo $url; ?>">Update</a>
然后在更新表格中:
Customer ID: <input type="text" name="cust_id" value="<?php echo $_GET['cust_id']; ?>">
<br>
Customer Last: <input type="text" name="cust_last" value="<?php echo $_GET['cust_last']; ?>">
答案 1 :(得分:0)
这是一般性的想法(如果您希望将表单保留在与表格相同的页面上):
为包含所有元素的每一行创建一个列表,即:
<强> PHP 强>
$alldata= "'".$cust_ID."','".$cust_last."','".$cust_first."','". ... ;
将该列表推送到javascript函数中,即:
<强> PHP 强>
echo "<td>$cust_ID</td>";
....
echo "<td>$agent_ID</td>";
echo "<td><a onClick=populateForm(".$alldata."); href=#>Update</a></tr>";
您需要为每个文本框添加一个ID,即:
<强> HTML 强>
Last Name*: <input type="text" id="cust_last" name="cust_last">
First Name*: <input type="text" id="cust_first" name="cust_first">
现在使用javascript将这些值推送到表单中,即:
<强>的Javascript 强>
function populateForm(custid,cust_last,cust_first, ...) {
document.getElementById('cust_last').value = cust_last;
...
}
如果您需要更多帮助,请发表评论,我会进一步详细说明。