php - 编辑数据1记录显示+回显textarea中的变量

时间:2014-05-23 22:16:10

标签: php forms edit

我创建了一个用于编辑存储在表格中的数据的表单。

检索表单数据:

if (isset($_POST['submit']))
{
$id = $_SESSION['id'];
$subject = $_POST['subject'];
$comments = $_POST['comments'];
$rating = $_POST['starrating'];
if (empty($subject) || empty($comments) || empty($starrating))
{
$message = "Missing Data " ;
header("Location: edit.php?message=$message");
exit;

查询更新数据:

mysql_query("UPDATE comments SET subject='$subject', usercomments='$comments', starrating='$starrating' WHERE id='$id'")
or die(mysql_error()); 
}

显示数据:

$id=$_SESSION['id'];
$result = mysql_query("SELECT * FROM comments WHERE id='$id'")
or die(mysql_error());
$row = mysql_fetch_array($result);
if($row)
{
$subject = $row['subject'];
$comments = $row['comments'];
$starrating = $row['starrating'];
}
?>

然后我在表单中显示字段数据:

<label="editlabel" for="subject">Subject</label>
<div><input type="text" id="subject" name="subject" value="<?php echo $subject; ?>"/></div>

<label="editlabel" for="subject">Subject</label>
<div><input type="text" id="comments" name="comments" value="<?php echo $comments; ?>"/></div>

<label="editlabel" for="starrating">Star Rating</label>
<div><input type="text" id="starrating" name="starrating" value="<?php echo $starrating; ?>"/></div>

显示所有数据并在提交时保存更改但我只看到一条记录,即使用户有多条记录。此外,我想用评论填充textarea,但这不起作用:

<div><textarea id="comments" name="comments" value="<?php echo $comments; ?>"/></textarea></div>

我可以创建一个插入类并将其设置为textarea样式但更喜欢使用textarea。我尝试使用print而不是echo,但我仍然没有在textarea中获取任何数据。

2 个答案:

答案 0 :(得分:0)

<textarea>没有value属性。您将要显示的值放在开始和结束标记之间(它也不是自闭标记):

<textarea id="comments" name="comments"><?php echo $comments; ?></textarea>

答案 1 :(得分:0)

$rating = $_POST['starrating'];
if (empty($subject) || empty($comments) || empty($starrating))

$ rating和starrating是错误的