gpt4 book ai didi

php - 列表框不适用于链接到我的 mysql 数据库的 HTML 表单

转载 作者:行者123 更新时间:2023-11-29 11:41:28 26 4
gpt4 key购买 nike

我的 HTML 表单上有三个列表框,作者、类型和年份。它们链接到一个名为“作者”的 SQL 数据库和一个名为“书籍”的表。其想法是单击一个或所有列表框,选择然后将其放入变量中,然后放入自定义的 sql 语句中,该语句从 mysql DB 中提取数据并将结果放入表中。结果仅部分有效。如果我单击每个框中的一项,那么它会很好地响应例如 EG Ken戴维斯(作者列表中的选择)冒险(流派列表中的选择)和 2007(年份列表中的选择)然后这工作正常。另外,如果我只单击作者姓名,这工作正常,或者如果我只单击流派,这工作正常。但是,当我单击年份列表框中的任何年份时,我什么也得不到,尽管如果我将它们组合到所有三个(作者、流派和年份)中,这些年份都有效。有没有人有任何建议,非常感谢。

      <html>
<head>
<title>My Page</title>
</head>
<body>
<br>
<form name="myform" action="dropdown2.php" method="POST">

<select name="author" size="4">
<option value="ken davies">ken davies</option>
<option value= "arthur smith">arthur smith</option>
<option value="gill rafferty">gill rafferty</option><br />
<option value="molly brown">molly brown</option><br />
<option value="gilbert riley">gilbert riley</option><br />
<input type = "submit" name = "submit" value = "go">

<select name="genre" size="4">
<option value="adventure">adventure</option>
<option value="biography">biography</option>
<option value="crime">crime</option><br />
<option value="romance">romance</option>
<option value="2007">thriller</option>

<input type = "submit" name = "submit" value = "go">
<select name="year" size="4">
<option value="2002">2002</option>
<option value="2003">2003</option>
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
<option value="2007">2007</option>
<option value="2008">2008</option>

<input type = "submit" name = "submit" value = "go">

<?php


$bird = ( ! empty($_POST['author'])) ? $_POST['author'] : null;
$cat = ( ! empty($_POST['genre'])) ? $_POST['genre'] : null;
$mouse = ( ! empty($_POST['year'])) ? $_POST['year'] : null;

$con = mysql_connect("localhost","root","");
If (!$con){
die("Can not Connect with database" . mysql_error());
}
Mysql_select_db("authors",$con);
if(isset($_POST['author'])&&isset($_POST['genre'])&&isset($_POST['year']))
{
$sql = "SELECT * FROM books WHERE author = '$bird' AND genre = '$cat' AND year = '$mouse' ";
unset($_POST['cat']);
unset($_POST['bird']);
unset($_POST['mouse']);
}


elseif(!isset($_POST['author']))
{
$sql = "SELECT * FROM books WHERE genre = '$cat' ";
unset($_POST['genre']);
}

elseif(!isset($_POST['genre']))
{
$sql = "SELECT * FROM books WHERE author = '$bird'";
unset($_POST['author']);
}

elseif(!isset($_POST['year']))
{
$sql = "SELECT * FROM books WHERE year = '$mouse'";
unset($_POST['author']);
unset($_POST['genre']);
unset($_POST['year']);


$myData = mysql_query($sql,$con);

echo"<table border=1>

<tr>
<th>id</th>
<th>author</th>
<th>title</th>
<th>publisher</th>
<th>year</th>
<th>genre</th>
<th>sold</th>
</tr>";


while($record = mysql_fetch_array($myData)){
echo "<tr>";
echo "<td>" . $record['id'] . "</td>";
echo "<td>" . $record['author'] . "</td>";
echo "<td>" . $record['title'] . "</td>";
echo "<td>" . $record['publisher'] . "</td>";
echo "<td>" . $record['year'] . "</td>";
echo "<td>" . $record['genre'] . "</td>";
echo "<td>" . $record['sold'] . "</td>";

echo "<tr />";
}
echo "</table>";



mysql_close($con);



?>



</form>
</body>
</html>

最佳答案

为您使用的每个查询添加 mysql_error() ,并且除了检查您的 Html 代码之外,它似乎不太漂亮。

关于php - 列表框不适用于链接到我的 mysql 数据库的 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35720292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com