我希望能够从我的网络浏览器中查看和编辑表格中包含的信息,但是我无法在我的生活中获取当前值以获取到html文本字段。
任何人都可以放弃任何关于php的新手吗?
表名:request_details
列名:id,name,email_address
我的PHP代码是:
<?
$order = "SELECT * FROM request_details WHERE id='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>
HTML代码
<form method="post" action="edit_data.php">
<input type="hidden" name="id" value="<?php echo "$row[id]"?>">
<tr>
<td>Name</td>
<td>
<input type="text" name="name" size="20" value="<?php echo "$row[name]"?>">
</td>
</tr>
<tr>
<td>Email Address</td>
<td>
<input type="text" name="email_address" size="40" value="<?php echo "$row[email_address]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
使我更容易使用,当我使用实际ID而不是变量时,它是有效的,例如
<?
include "db.inc.php";//database connection
$order = "SELECT * FROM request_details WHERE id='19'";
$result = mysql_query($order);
$row = mysql_fetch_array($result,MYSQL_ASSOC);
?>
以上显示,但下面没有
<?
include "db.inc.php";//database connection
$order = "SELECT * FROM request_details WHERE id='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result,MYSQL_ASSOC);
?>
好的,所以前提是我有两个网页,第一个显示我需要的所有信息
代码是:
<table>
<tr>
<td>
<table border="1">
<tr>
<td>Name</td>
<td>Telephone Number</td>
<td>Email Address</td>
<td>Venue</td>
<td>Event Date</td>
<td>Guests</td>
<td>Chair Cover Colour</td>
<td>Sash Colour</td>
<td>Price</td>
<td>Damage Deposit</td>
<td>Status</td>
<td>Notes</td>
</tr>
<tr>
<?
$order = "SELECT * FROM request_details";
$result = mysql_query($order);
while ($row=mysql_fetch_array($result)){
echo ("<tr><td>$row[name]</td>");
echo ("<td>$row[telephone_number]</td>");
echo ("<td>$row[venue]</td>");
echo ("<td>$row[event_date]</td>");
echo ("<td>$row[guests]</td>");
echo ("<td>$row[cover_colour]</td>");
echo ("<td>$row[sash_colour]</td>");
echo ("<td>$row[price]</td>");
echo ("<td>$row[damage_deposit]</td>");
echo ("<td>$row[notes]</td>");
echo ("<td><a href=\"edit_form.php?id=$row[id]\">View</a></td></tr>");
}
?>
</table>
</td>
</tr>
</table>
当我点击视图时,它会转到以下网址:
edit_form.php?ID = 1
例如
edit_form.php?ID = 19
此页面的代码(信息未显示在文本字段中):
<table border=1>
<tr>
<td>
<table>
<?
$order = "SELECT * FROM request_details WHERE id='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result,MYSQL_ASSOC);
?>
<form method="post" action="edit_data.php">
<tr>
<input type="hidden" name="id" value="<?php echo $row['id']; ?>" />
<tr>
<td>Name</td>
<td>
<input type="text" name="name" size="20" value="<?php echo $row['name']; ?>">
</td>
</tr>
<tr>
<td>Email Address</td>
<td>
<input type="text" name="email_address" size="40"
value="<?php echo $row['email_address']; ?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit" name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
答案 0 :(得分:0)
像那样做
<input type="hidden" name="id" value="<?php echo $row['id'] ;?>" />
<input type="text" name="name" size="20" value="<?php echo $row['name']; ?>" />
<input type="text" name="email_address" size="40" value="<?php echo $row['email_address']; ?>" />
编辑;
很遗憾地说你的代码是灾难性的并且搞砸了。许多错误我无法解决所有问题。任何方式都可以将你的行改为这一行。
echo "<td><a href=\"edit_form.php?id=$row['id']\">View</a></td></tr>";
并在查询此行之前在文件中添加显示编辑页面
$id = $_GET['id'] ;
答案 1 :(得分:0)
你可以这样做:
<input type="text" name="email_address" size="40" value="<?=$row['email_address']?>">
答案 2 :(得分:0)
将您的PHP代码更改为
$ row = mysql_fetch_array($ result,MYSQL_ASSOC);
同时更改HTML代码,如下一行
<input type="hidden" name="id" value="<?php echo $row['id'] ;?>" />
答案 3 :(得分:0)
您的代码不完整,它错过了行调用中的定义。它不知道$ row [name],因为变量应该用引号定义。
<input type="text" name="name" size="20" value="<? echo $row['name']; ?>">
<input type="text" name="email_address" size="40" value="<? echo $row['email_address']; ?>">
接下来,您将引用一个不需要的变量。变量根本不需要引用。你正确引用了值类型,双引号没有意义。
你的代码真的很麻烦btw。尝试使用适当的语法正确地将其正确放下。 (别忘了;在变量后面)
答案 4 :(得分:0)
如果您的网址是edit_form.php?id = 19
您需要编写如下查询:
$order = "SELECT * FROM request_details WHERE id='$_GET[id]'";
答案 5 :(得分:0)
我对孔代码进行了更正并且可以正常工作
<html>
<head>
<title>PAGE Edit</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table>
<tr>
<td align="center">EDIT DATA</td>
</tr>
<tr>
<td>
<table border="1">
<?php
include"db.inc.php";//database connection
$order = "SELECT * FROM data_employees";
$result = mysql_query($order);
while ($row=mysql_fetch_array($result)){
// Print "<th>Name:</th> <td>".$data['user'] . "</td> ";
echo ("<tr><td>".$row['name']."</td>");
echo ("<td>".$row['employees_number']."</td>");
echo ("<td>".$row['address']."</td>");
echo ("<td><a href=edit_form.php?id=".$row['employees_number'].">Edit</a></td></tr>");
}
?>
</table>
</td>
</tr>
</table>
</body>
</html>
第二部分:调用edit_form.php进行编辑
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Form Edit Data</title>
</head>
<body>
<table border=1>
<tr>
<td align=center>Form Edit Employees Data</td>
</tr>
<tr>
<td>
<table>
<?php
$id=$_GET['id'];
include "db.inc.php";//database connection
$order = "SELECT * FROM data_employees
where employees_number='$id'";
$result = mysql_query($order);
$row = mysql_fetch_array($result);
?>
<form method="post" action="edit_data.php">
<input type="hidden" name="id" value="<?php echo "$row[employees_number]"?>">
<tr>
<td>Name</td>
<td>
<input type="text" name="name"
size="20" value="<?php echo "$row[name]"?>">
</td>
</tr>
<tr>
<td>Address</td>
<td>
<input type="text" name="address" size="40"
value="<?php echo "$row[address]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
最后调用edit_Data.php来更新DATA TABLE
<?php
//edit_data.php
$name=$_POST['name'];
$address=$_POST['address'];
$id=$_POST['id'];
include "db.inc.php";
$order = "UPDATE data_employees
SET name='$name',
address='$address'
WHERE
employees_number='$id'";
mysql_query($order);
header("location:edit.php");
?>
我希望现在很清楚! :d