我有一个我创建的评论表单。它从数据库中获取id并打印出与该id相关的数据,但它也会将信息打印到表单中。我想要一个空白表单,以便用户可以在记录中添加注释。
有什么想法吗?
这是表格的代码:
<form method="post" action="pv.php?id=<?php echo $row['ID']?>&action=<?php echo $form_action ?>">
<fieldset>
<legend></legend>
<p>
<label for="cname">Date Of Birth</label> *
<input id="cname" name="dateofbirth" class="required date" value="<?php echo $row['Date_Of_Birth']?>" /> (eg 1978.11.11)
</p>
<p>
<label for="cgender">Gender</label> *
<input type="radio" name="gender" value="Male" <?php if($row['Gender']=='male'){echo 'checked';}?>/> Male <input type="radio" name="gender" value="Female" <?php if($row['Gender']=='female'){echo 'checked';}?>/> Female </td>
</p>
<p>
<label for="curl">Title</label> *
<select name="title" id="title" class="required">
<option value="">Please Select</option>
<option value="Mr" <?php if($row['Title']=='Mr'){echo 'selected';}?>>Mr</option>
<option value="Ms" <?php if($row['Title']=='Ms'){echo 'selected';}?>>Ms</option>
<option value="Mrs" <?php if($row['Title']=='Mrs'){echo 'selected';}?>>Mrs</option>
<option value="Miss" <?php if($row['Title']=='Miss'){echo 'selected';}?>>Miss</option>
<option value="Other" <?php if($row['Title']=='Other'){echo 'selected';}?>>Other</option>
</select>
</p>
<p>
<label for="ccomment">First Name</label> *
<input type="text" name="firstname" value="<?php echo $row['First_Name']?>" maxlength="50" />
</p>
<p>
<label for="cemail">Last Name</label> *
<input id="cemail" type="text" name="lastname" value="<?php echo $row['Last_Name']?>" maxlength="75" />
</p>
<p>
<label for="ccomment">Address 1</label>*
<input type="text" name="address1" value="<?php echo $row['Address_Line_1']?>" maxlength="50" />
</p>
<p>
<label for="ccomment">Address 2</label>
<input type="text" name="address2" value="<?php echo $row['Address_Line_2']?>" maxlength="50" />
</p>
<p>
<label for="ccomment">City</label>*
<input type="text" name="city" value="<?php echo $row['City']?>" maxlength="50" />
</p>
<p>
<label for="ccomment">Postcode</label>*
<input type="text" name="postcode" value="<?php echo $row['Postcode']?>" maxlength= "10" /> (eg LE5 5QE)
</p>
<p>
<label for="ccomment">Contact No</label>*
<input type="text" name="contactno" value="<?php echo $row['Contact_No']?>" maxlength= "12" /> (eg 077448825723)
</p>
<p>
<label for="ccomment">Email</label>*
<input type="text" name="email" value="<?php echo $row['Email']?>" maxlength= "40"/> (eg info@example.com)
</p>
<p>
<label for="ccomment">Comment</label>
<textarea rows="10" cols="30" name="note" maxlength= "500"><?php echo $row['Additional_Comment']?></textarea>
</p>
<p>
<input class="submit" type="submit" value="Submit"/>
</p>
<p>
<a href='pv.php'>Main Page</a>
</p>
</fieldset>
这是用于在页面上打印数据的代码:
if($_GET['action']=='comment'){
$form_action = 'comment_ok';
$id=$_GET['id'];
$result = mysql_query("SELECT * FROM project_data WHERE id='$id'");
$row = mysql_fetch_array($result);
echo'<b>';
echo $row['Date_Of_Birth'];
echo '  ';
echo $row['Gender'];
echo '  ';
echo $row['Title'];
echo '  ';
echo $row['First_Name'];
echo '  ';
echo $row['Last_Name'];
echo '  ';
echo $row['Address_Line_1'];
echo '  ';
echo $row['Address_Line_2'];
echo '  ';
echo $row['City'];
echo '  ';
echo $row['Postcode'];
echo '  ';
echo $row['Contact_No'];
echo '  ';
echo $row['Email'];
echo '  ';
echo $row['Additional_Comment'];
echo '</b>';
}
以及我用来将ID发送到表单的代码片段:
echo "<td><a href='pv.php?action=edit&id=" . $row['ID']."'>Edit</a>  <a href='pv.php?action=delete_ok&id=" . $row['ID']."'>Delete</a>  **<a href='pv.php?action=comment&id=" . $row['ID']."'>Comment</a></td>"**;
echo "</tr>";
有人有什么想法吗?
答案 0 :(得分:0)
如果您希望表单为空,则只需将value属性设置为空。 E.g value =''。除了id字段。
答案 1 :(得分:0)
我对你的问题感到有些困惑,所以你想要一个允许用户填写空白表格的页面,查看填好的表格并更新表格?
您可以通过检查是否存在ID来填写空白表格或填写表格,如下所示:
<?
if (isset(id)) // Here you can check if the id exists, which means you will be doing an update to the sql
echo'
<form method="post" action="pv.php?id=' . $row['ID'] . '&action=' . $form_action . '">
<!-- Your form here with values -->
e.g. <label for="cemail">Last Name</label> *
<input id="cemail" type="text" name="lastname" value="' . $row['Last_Name'] . '" maxlength="75" />
</form>';
// Put your sql update here to take the values from the above form
}
elseif (!isset(id)) // Here there is no id so you will want to insert
{
echo'
<form method="post" action="pv.php?id=' . $row['ID'] . '&action=' . $form_action . '">
<!-- Your form here with values -->
e.g. <label for="cemail">Last Name</label> *
<input id="cemail" type="text" name="lastname" maxlength="75" /> // No value here because will insert new record
</form>';
// Put your sql insert here to create a new record
}
?>
您是否还希望用户能够完全添加新评论,而不是编辑已与其ID相关联的评论?我认为你必须通过给他们添加另一个注释的选项来做到这一点,为此我会创建一个新表然后将注释插入到那里,所以你有一个表包含用户信息,然后另一个表包含用户评论,例如:
example_users:
id = 1
fname=Joe
lname=Bloggs
email=jbloggs@example.com
user_comments
id=1
user_id=1
comment = Comment will be saved here
这样任何用户都可以拥有任意数量的注释,您可以使用foreach语句在页面上呈现此内容,以使用所有现有注释呈现文本框,然后在结尾处为任何新注释添加空白注释,然后他们可以编辑任何评论并添加新评论。