将所选值从下拉菜单发送到另一个页面

时间:2015-06-23 09:43:29

标签: php mysql list store

我有一个由MySql数据库填充的下拉列表,显示了我的数据库中存储的书籍的标题。

<select id="titles">
<option value="emp" selected>Choose the title</option>
<?php

//drop down list populated by mysql database

$sql = mysql_query("SELECT title FROM book");
while ($row = mysql_fetch_array($sql))
{
    echo '<option value="'.$row['title'].'">'.$row['title'].'</option>';
}
?>

我想要我选择将其发送到另一个php页面search.php的选项 这个search.php我想让它获得标题并搜索这个特定的书籍细节。(标题,价格,作者....等)。我试着这样做,但它破坏了页面。

5 个答案:

答案 0 :(得分:0)

使用具有相应action的表单进行环绕并添加提交按钮。否则使用类似jQuery的东西来监听改变和提交表单的价值。

例如:

<form action="search.php" method="GET">
    <select id="titles" name="title">
        <?php /* put your stuff here */ ?>
    </select>
</form>

然后在jQuery中:

$(function(){
    $('#titles').on('change', function(){
        $(this).closest('form').submit();
    });
});

或者你可以去真正的老派并将事件监听器附加到这样的select

<form action="search.php" method="GET">
    <select id="titles" name="title" onchange="this.parentNode.submit()">
        <?php /* put your stuff here */ ?>
    </select>
</form>

答案 1 :(得分:0)

尝试如下:

<form method="post" action="YOURPAGEPATH">
<select id="titles">
<option value="emp" selected>Choose the title</option>
<?php

//drop down list populated by mysql database

$sql = mysql_query("SELECT title FROM book");
while ($row = mysql_fetch_array($sql))
{
    echo '<option value="'.$row['title'].'">'.$row['title'].'</option>';
}
?>
</select>
<input type="submit" name="submit"/>
</form>

没有提交按钮:

<form method="post">
<select id="titles" onchange="this.form.submit();">
<option value="emp" selected>Choose the title</option>
<?php

//drop down list populated by mysql database

$sql = mysql_query("SELECT title FROM book");
while ($row = mysql_fetch_array($sql))
{
    echo '<option value="'.$row['title'].'">'.$row['title'].'</option>';
}
?>
</select>
</form>

答案 2 :(得分:0)

以适合您的形式添加以下代码。

<form action='search.php' method='post'>
<select id="titles" name='titles'>
<option value="emp" selected>Choose the title</option>
<?php

//drop down list populated by mysql database

$sql = mysql_query("SELECT title FROM book");
while ($row = mysql_fetch_array($sql))
{
    echo '<option value="'.$row['title'].'">'.$row['title'].'</option>';
}
?>
    <input type='submit' value='submit'>
    </form>
  in search.php:
  $title = $_POST['titles'];

答案 3 :(得分:0)

您只需要在select标记上方添加表单,并且需要在select标记中提供 NAME属性,以便将数据发布到另一个页面上。您可以尝试使用以下代码:

<form method="post" action="search.php">
<select id="titles" name="titles">
<option value="emp" selected>Choose the title</option>
<?php

//drop down list populated by mysql database

$sql = mysql_query("SELECT title FROM book");
while ($row = mysql_fetch_array($sql))
{
    echo '<option value="'.$row['title'].'">'.$row['title'].'</option>';
}
?>
</select>
<input type="submit" name="submit"/>
</form>

在search.php页面上,您可以通过以下方式获取下拉列表的值:

$title = $_POST['titles'];

答案 4 :(得分:0)

如果您不想使用提交按钮

,以防万一
<script language="Javascript">
function books(book)
{
    var url="http://www.example.com/search.php/?q="+book;
    window.open(url, "_self");
}
</script>

<select id="titles">
<option value="emp" selected>Choose the title</option>
<?php
    //drop down list populated by mysql database
    $sql = mysql_query("SELECT title FROM book");
    while ($row = mysql_fetch_array($sql))
    {
        echo '<option onClick="books('.$row['title'].')" value="'.$row['title'].'">'.$row['title'].'</option>';
    }
?>

此处列表将在Click上调用Books函数并将参数传递给函数,该函数将您重定向到 search.php

要检索图书名称,请使用

$_GET["q"]

根据需要更改网址。 如果问题得到解决,请不要忘记标记答案。