我想从<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="" />
答案 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_*
函数现已弃用,您应考虑在未来和当前项目中使用PDO
或MySQLi
。您可以在此here