2013-10-25 52 views
0

我在PHP中选择了(组合框),选择了一个后,我用数据库中的数据填充第二个。 问题是如何在页面重新载入后从第一个组合框显示我的选择。 我有以下代码:如何得到的值在form标签定义的属性method如何在php中显示组合框中的选定值

在你的情况

<select name="category" id="category" maxlength="30" onchange="this.form.submit();"> 
           <option value =""></option> 
          <?php 
           require_once("config.php"); 
           // Connect to server 
           $con = mysql_connect($ServerAddress,$ServerUser,$ServerPassword); 
           //choose DB 
           mysql_select_db($DbName, $con);        
           $sql = "SELECT * FROM `category` ORDER BY `name`"; 
           $res = mysql_query($sql); 
           while ($row1 = mysql_fetch_array($res)){ 
            echo '<option value ="'.$row1['name'].'">'.$row1['name'].'</option>'; 

           }  
          ?> 
          </select> 
         </span> 
<label>race:</label> 
<span> 
          <select name="race" id="race" maxlength="30" > 
           <option value =""></option> 
          <?php 
           if (isset($_POST['category'])) { 
            $var = $_POST['category']; 

            // Connect to server 
            $con = mysql_connect($ServerAddress,$ServerUser,$ServerPassword); 
            //choose DB 
            mysql_select_db($DbName, $con);  
            $sql = "SELECT * FROM `race` WHERE `category`='" . sqlSecure($var) . "'ORDER BY `race`";         
            $res = mysql_query($sql); 
            while ($row1 = mysql_fetch_array($res)){ 
             echo '<option value ="'.$row1['race'].'">'.$row1['race'].'</option>'; 
            } 
           } 
          ?> 
          </select> 
+0

阅读关于Ajax - 你目前的方法是真的效率低下。另外,停止使用'mysql_ *'函数,切换到'mysqli_ *'或PDO。 – naththedeveloper

回答

3

方法,你需要得到echo $_POST['category'],并与选项name比较

你的代码并不完美。看看如下::)

<?php 
require_once("config.php"); 
// Connect to server 
$con = mysql_connect($ServerAddress, $ServerUser, $ServerPassword); 
//choose DB 
mysql_select_db($DbName, $con); 

?> 
<select name="category" id="category" maxlength="30" onchange="this.form.submit();"> 
    <option value=""></option> 
    <?php 
    $val = $_POST['category']?:''; 

    $sql = "SELECT * FROM `category` ORDER BY `name`"; 
    $res = mysql_query($sql); 
    while ($row1 = mysql_fetch_array($res)) { 
     $selected = ($val == $row1['name'] ? 'selected="selected"' : ''); 
     echo '<option value ="' . $row1['name'] . '" '. $selected .'>' . $row1['name'] . '</option>'; 

    } 
    ?> 
</select> 
</span> 
<label>race:</label> 
<span> 
<select name="race" id="race" maxlength="30"> 
    <option value=""></option> 
    <?php 
    if (isset($_POST['category'])) { 
     $var = $_POST['category']; 
     $sql = "SELECT * FROM `race` WHERE `category`='" . sqlSecure($var) . "'ORDER BY `race`"; 
     $res = mysql_query($sql); 
     while ($row1 = mysql_fetch_array($res)) { 
      echo '<option value ="' . $row1['race'] . '">' . $row1['race'] . '</option>'; 
     } 
    } 
    ?> 
</select> 
相关问题