0

我是 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>

...并且我正在尝试在每一行添加一个链接(“更新”),该链接会将用户的信息(来自数据库)发送到表单中的字段,以便编辑字段(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>

我不确定如何执行此操作或如何正确询问它?

谢谢你的帮助。

4

2 回答 2

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']; ?>">
于 2013-08-30T20:00:28.477 回答
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;
   ...
}

如果您需要更多帮助,请发表评论,我会进一步详细说明。

于 2013-08-30T20:02:59.287 回答