所以我有一个在php中创建的HTML下拉列表。
echo '<select id="myselect" name="myselect">';
while($row = mysql_fetch_array($query)) {
echo '<option value="'.$row['categories'].'" id="'.$row['categories'].'">'.$row['categories'].'</option>';
}
echo '</select>';
我想要做的是选择所选项并将其转换为变量,以便将其传递给另一个php页面。
答案 0 :(得分:2)
echo '<select id="myselect" name="myselect">';
echo '<option value="make_selection" id="make_selection" name="make_selection">Choose Your Category</option>';
while($row = mysql_fetch_array($query)) {
echo '<option value="'.$row['categories'].'" id="'.$row['categories'].'">'.$row['categories'].'</option>';
}
echo '</select>';
高于此:
if($_POST){
$selection = $_POST['make_selection'];
//do something with $selection
//possibly redirect user using header('Location: page.php');
}
答案 1 :(得分:1)
仅仅是为了你自己的知识,这不是php的工作原理。运行此脚本后,它将显示在用户浏览器上,如果没有他们提交表单或发送ajax请求,您将无法执行任何其他操作。
答案 2 :(得分:0)
您的PHP在服务器上运行。用户在其客户端PC上的浏览器中查看生成的HTML / JavaScript。您需要通过HTTP在两者之间进行通信(例如,通过Ajax / JavaScript或完整的往返服务器)。只需在下拉列表值发生变化时发送请求即可。
更具体的答案需要一个等效的问题。
答案 3 :(得分:0)
如果您希望将所选选项传递到下一个PHP页面,则还必须在name
上分配option
属性。
echo '<select id="myselect" name="myselect">';
while($row = mysql_fetch_array($query)) {
echo '<option name="option[]" value="'.$row['categories'].'" id="'.$row['categories'].'">'.$row['categories'].'</option>';
$i++;
}
echo '</select>';
然后在接收页面上:
if(isset($_POST['option'])) {
// process here
print_r($_POST['option']);
}
[]
表示PHP会将所有选项视为数组中的值,因此可以迭代它们。
另外,我建议使用MySQLi,它代表MySQL Improved。