通过PHP中的SQL查询列出所选标记中的选项

时间:2013-05-19 20:57:38

标签: php mysql

我想从<select>标记中检索一个值到PHP ...此选定标记中的选项是来自PHP的函数,该函数列出了来自单独{{1}的选项名为php

的文件

functions.php

查看以下功能
functions.php

及以下是选定的标签:

function list_brand (){
  $sql = "SELECT brand FROM laptop
         ";
  $query = mysql_query($sql) or die (mysql_error());

  if ($query) {
     //echo 'success'; <-- testing the function functinality

     while ($query_row = mysql_fetch_assoc($query)) {
           $brand = $query_row['brand'];

           echo '<option value="brand">'.$brand.'</option>';
     }      
  } else {echo 'fiald if';}
}

现在我的问题是,我有两个其他选定的标签应该列出选项,具体取决于第一个选定标签中的选定选项,并且它应该列出一个SQL查询

下面是我的完整HTML代码:

<select id="test" onchange="document.getElementById('text_content').value=this.options[this.selectedIndex].text">
    <option value="select">SELECT BRAND</option>
    <?php list_brand(); ?>
</select>
<input type="hidden" name="brand_text" id="text_content" value="" />

2 个答案:

答案 0 :(得分:1)

就是这样。我必须在OnChange上放两个函数来分配所选的值,另一个是提交页面以便它可以刷新......

 <form name="index" action="" method="GET">
  <select id="brand" onchange="document.getElementById('brand_content').value=this.options[this.selectedIndex].text; document.index.submit();">
          <option value="">==SELECT BRAND==</option>
                      <?php
                        list_brand();
                      ?>
  </select>
  <input type="hidden" name="brand_text" id="brand_content" value="" />

<?php
      $brand = $_GET['brand_text'];
      if (isset($brand)){

      }  else {echo 'no brand selected';}
?>
  <br>
  <select id="model" onchange="document.getElementById('model_content').value=this.options[this.selectedIndex].text; document.index.submit(); ">>
  <option value="model1">==SELECT MODEL==</option>
  <?php
       list_model($brand);
  ?>
  </select>
  <input type="hidden" name="model_text" id="model_content" value="" 
</form>

答案 1 :(得分:0)

您需要使用JavaScript解决方案处理此问题,因此您基本上希望使用JavaScript首先检查在第一个选择标记中选择了哪个选项,然后您希望使用JavaScript然后生成第二个选项的内容第三。我能想到这样做的唯一方法是使用ajax请求,因为PHP是客户端并且解析一次因此一旦解析就无法更改。

此外,mysql_*函数现已弃用,您应考虑在未来和当前项目中使用PDOMySQLi。您可以在此here

上进一步阅读