我有一个由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我想让它获得标题并搜索这个特定的书籍细节。(标题,价格,作者....等)。我试着这样做,但它破坏了页面。
答案 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"]
根据需要更改网址。 如果问题得到解决,请不要忘记标记答案。