以下是代码:
<select name="op1" id="op1" class="op1">
<option value=""> -- please choose -- </option>
<?php
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$name = $row['name'];
echo '<option value="'.$id.'">'.$name.'</option>';
}
?>
</select>
<br />
<select name="op2" id="op2" style="margin-top:20px" class="op2">
<option value=""> -- please choose -- </option>
<?php
$query2 = mysql_query("SELECT * FROM cat2 WHERE cor = '$id' ORDER BY id ASC");
while($row2 = mysql_fetch_array($query2)){
$id2 = $row2['id'];
$name2 = $row2['name'];
echo '<option value="'.$id2.'">'.$name2.'</option>';
}
?>
</select>
我想要做的是从第一个循环中选择$ id并在第二个循环查询中使用它,但由于变量管道似乎无法使其工作,有没有人知道解决这个问题?
答案 0 :(得分:0)
<?php
$ids=array();
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$ids[]=$id;
$name = $row['name'];
echo '<option value="'.$id.'">'.$name.'</option>';
}
?>
第二个php块;
<?php
foreach ($ids as $id) {
$query2 = mysql_query("SELECT * FROM cat2 WHERE cor = '$id' ORDER BY id ASC");
while($row2 = mysql_fetch_array($query2)){
$id2 = $row2['id'];
$name2 = $row2['name'];
echo '<option value="'.$id2.'">'.$name2.'</option>';
}
}
?>
下一行代码正在使用ajax。您必须创建一个名为ajax.php的新文件。您可以使用相同的文件,将来自ajax.php的所有代码(在末尾添加出口;最后)放在文档的最顶部并更改... load('ajax.php'... with ...负载( '' ...
如果将脚本放在doc的头部,则必须将其包装在$(function(){})中;在页面中的所有元素都被加载后运行。
未测试代码。但是我们走了。如果我错了,请任何人发表评论。
<强> AJAX 强>
<select name="op1" id="op1" class="op1">
<option value=""> -- please choose -- </option>
<?php
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$name = $row['name'];
echo '<option value="'.$id.'">'.$name.'</option>';
}
?>
</select>
<br />
<select name="op2" id="op2" style="margin-top:20px;" class="op2">
</select>
<script type="text/javascript">
$('#op1').change(function() {
$('#op2').load('ajax.php',{id:$(this).val()});
});
</script>
ajax.php文件:
<?php if (isset($_REQUEST['id'])) { $id = $_REQUEST['id']; ?>
<option value=""> -- please choose -- </option>
<?php
$query2 = mysql_query("SELECT * FROM cat2 WHERE cor = '$id' ORDER BY id ASC");
while($row2 = mysql_fetch_array($query2)){
$id2 = $row2['id'];
$name2 = $row2['name'];
echo '<option value="'.$id2.'">'.$name2.'</option>';
}
} ?>
答案 1 :(得分:0)
当用户选择第一个选择框中的第一个选项时,我希望它向下滑动第二个框(已经有了工作)但我需要帮助将基于用户的mysql数据库中的数据导入第二个选择框第一选择。
对于你想要的东西,你需要: