2012-04-08 135 views
0

我的表单中有两个字段。Html选择标记问题

1)Html select字段项目(来自mysql数据库)
2)名称框。

如果用户选择HTML选择标签的项目,忘了写他/她的名字,然后用PHP是说..

* Your username required 

但当时它并不显示哪些用户选择的选择项 ..它再次显示选择...这就是为什么其他错误消息出现..

* Please select your item. 

如何显示用PHP这个选定的项目?

HTML表单:

<tr>  
<td>Class</td> 
<td> 
<select class="td" name="class"> 
    <option selected="selected" value="">Select..</option> 
    <?php 
    include_once("../../toplevel/content/manage/dbcon/dbcon.php"); 
    $sql = mysql_query("SELECT * FROM class"); 
    while($re = mysql_fetch_array($sql)) 
    { 
$re_class = mysql_real_escape_string(trim($re['c_name']));  
     echo "<option value='$re_class'> $re_class </option>"; 
    } 
    ?> 
</select> 
</td> 
</tr> 

<tr> 
<td>Name</td> 
<td><input type="text" value="<?php if(isset($_POST['uname'])) echo 
$_POST['uname']; ?>" name="uname" class="td" /></td> 
</tr> 
<tr> 

我能为名称为此提起但我怎么做到这一点的选择字段?
非常感谢。
Shibbir

+0

你怎么能做什么?这很不清楚。 – Michelle 2012-04-08 05:42:38

+0

@Jack Spairow .. 2 html表格框..一个是带有选择标签的项目列表,另一个是名称字段框。如果用户选择一个项目,但忘记把他的用户名,那么这就是“用户名所需”,但它不显示选定的项目,用户从HTML选择标签选择。我想要显示那些用户选择的项目。希望它有意义... – user1295995 2012-04-08 05:52:06

+0

@Jack Spairow ..你有什么想法吗? – user1295995 2012-04-08 05:55:37

回答

0
<tr>  
    <td>Class</td> 
    <td> 
    <select class="td" name="class"> 
     <option value="">Select..</option> 
     <?php 
     include_once("../../toplevel/content/manage/dbcon/dbcon.php"); 
     $sql = mysql_query("SELECT * FROM class"); 
     while($re = mysql_fetch_array($sql)) 
     { 
      $re_class = mysql_real_escape_string(trim($re['c_name'])); 
      $sel=''; 
      if($re_class==$_POST['class']) { 
      $sel='selected="selected"'; 
      } 
      echo "<option value='$re_class' ".$sel."> $re_class </option>"; 
     } 
     ?> 
    </select> 
    </td> 
    </tr> 

    <tr> 
    <td>Name</td> 
    <td><input type="text" value="<?php if(isset($_POST['uname'])) echo 
    $_POST['uname']; ?>" name="uname" class="td" /></td> 
    </tr> 
    <tr> 

难道ü意味着这个?

+0

是@Sujal恰好我想要什么。谢谢。 – user1295995 2012-04-08 06:02:36

0
<tr>  
    <td>Class</td> 
<td> 
<select class="td" name="class" onchange="this.form.submit();"> 
<option selected="selected" value="">Select..</option> 
<?php 
include_once("../../toplevel/content/manage/dbcon/dbcon.php"); 
$sql = mysql_query("SELECT * FROM class"); 
while($re = mysql_fetch_array($sql)) 
{ 
$re_class[] = mysql_real_escape_string(trim($re['c_name']));  

} 
?> 
<?php for($i = 0; $i < count($re_class); $i++) { ?> 

<?php echo "<option value='$re_class[$i]'"; 
if($re_class[$i] == $_POST['class']) { echo "selected=selected"; } ?> <?php echo ">" . $re_class[$i] . </option>"; ?> 

<?php } ?> 
    </select> 
    </td> 
    </tr> 

<tr> 
<td>Name</td> 
<td><input type="text" value="<?php if(isset($_POST['uname'])) echo 
    $_POST['uname']; ?>" name="uname" class="td" /></td> 
</tr> 
<tr> 

编辑好像你想,如果当前$_POST变量等于在你的$re_class阵列的选择要选择的选项值。

+0

这是行不通的。从选择标签中选择一个项目后仍显示“select ..”。 – user1295995 2012-04-08 05:49:28

+0

编辑它。它现在应该带你到你需要去的页面, – 2012-04-08 05:51:41

+1

你必须将'selected ='选择的''重新定位到用户选择的'

0
<tr>  
<td>Class</td> 
<td> 
<select class="td" name="class"> 
    <option value="">Select..</option> 
    <?php 
    include_once("../../toplevel/content/manage/dbcon/dbcon.php"); 
    $sql = mysql_query("SELECT * FROM class"); 
    while($re = mysql_fetch_array($sql)) 
    { 
     $re_class = mysql_real_escape_string(trim($re['c_name'])); 
     if(isset($_POST['class'])){ 
      echo '<option '.($_POST['class']==$re_class?'selected':'').' value='.$re_class.'>'.$re_class.'</option>'; 
     }else{ 
      echo '<option value='.$re_class.'>'.$re_class.'</option>'; 
     } 
    } 
    ?> 
</select> 
</td> 
</tr> 

<tr> 
<td>Name</td> 
<td><input type="text" value="<?php if(isset($_POST['uname'])) echo 
$_POST['uname']; ?>" name="uname" class="td" /></td> 
</tr> 
<tr> 
+0

..这是检查..它.. – user1295995 2012-04-08 05:58:58

+0

对不起,它不显示选定的项目它只显示“用户名,如果我把空白”.. – user1295995 2012-04-08 06:01:20

+0

再试一次。编辑它。现在应该工作正常。 – Michelle 2012-04-08 06:02:16