0

所以我有一个在 php.ini 中创建的 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 页面。

4

4 回答 4

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');
}
于 2012-07-09T23:25:05.333 回答
1

就您自己的知识而言,这不是 php 的工作方式。运行此脚本后,它会显示在用户浏览器上,如果没有他们提交表单或发送 ajax 请求,您将无法执行任何其他操作。

于 2012-07-09T23:23:35.117 回答
0

您的 PHP 在服务器上运行。用户在其客户端 PC 上的浏览​​器中查看生成的 HTML/JavaScript。您需要通过 HTTP 在两者之间进行通信(例如,通过 Ajax/JavaScript 或与服务器之间的完整往返)。只需在下拉列表的值更改时发送请求。

一个更具体的答案需要一个同等具体的问题。

于 2012-07-09T23:23:48.877 回答
0

如果您希望将所选选项传递到下一个 PHP 页面,您还必须nameoption.

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 改进。

于 2012-07-09T23:43:51.220 回答