0
所有字段這個項目的想法是創建一個能夠在關係創建的,在下拉boxes.So例如選擇哪個項目如果我點擊了一個SQL查詢對作者姓名,我會得到所有作者的記錄,然後如果我想作者+流派,我會從作者下拉選擇作者,從流派下拉列表中選擇作者,並顯示該作者與該類型等等。 我當時的想法是用一個變量來代替作者的名字,所以不是查詢閱讀:在PHP MySQL查詢不會結合起來,包括在表
$sql = "SELECT * FROM books WHERE author = 'Ken Davies'
我更換這又已經宣佈爲筆者在這裏
與變量$鳥名$bird = (! empty($_POST['author'])) ? $_POST['author'] : null;
但是代碼只是部分working.Each盒單獨工作,但他們不會合並。 所以,如果我選擇作者肯·戴維斯,那麼我選擇流派,我得到的流派,所有作者不只是肯戴維和他的流派。 任何人都可以看到我做錯了什麼,任何幫助非常感謝,我已經把所有的代碼放在這裏看。
<html>
<head>
<title>My Page</title>
</head>
<body>
<br>
<form name="myform" action="authors3.php" method="POST">
<select name="author" size="2">
<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="thriller">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">
<select name="publisher" size="4">
<option value="blue parrot">blue parrot</option>
<option value="yonkers">yonkers</option>
<option value="zoot">zoot</option>
<input type = "submit" name = "submit" value = "go">
<?php
#variables created and tested
$bird = (! empty($_POST['author'])) ? $_POST['author'] : null;
$cat = (! empty($_POST['genre'])) ? $_POST['genre'] : null;
$mouse = (! empty($_POST['year'])) ? $_POST['year'] : null;
$goat = (! empty($_POST['publisher'])) ? $_POST['publisher'] : null;
$con = mysql_connect("localhost","root","");
If (!$con){
die("Can not Connect with database" . mysql_error());
}
Mysql_select_db("authors",$con);
if (isset($bird) && isset($cat) && isset($mouse) && isset($goat))
{
$sql = "SELECT * FROM books
WHERE author = '$bird'
AND genre ='$cat'
AND year= '$mouse'
AND publisher = '$goat' ";
}
'$cat'
AND year= '$mouse'
AND publisher = '$goat' ";}
else if (isset($bird))
{
$sql = "SELECT * FROM books WHERE author = '$bird' ";
}
if(!is_null($author)){
$sql.="AND author = $author";
}
else if (isset($cat))
{
$sql = "SELECT * FROM books WHERE genre = '$cat' ";
}
if(!is_null($genre)){
$sql.="AND genre = $genre";
}
else if (isset($mouse))
{
$sql = "SELECT * FROM books WHERE year = '$mouse' ";
}
if(!is_null($year)){
$sql.="AND year = $year";
}
else if (isset($goat))
{
$sql = "SELECT * FROM books WHERE publisher = '$goat' ";
}
if(!is_null($publisher)){
$sql.="AND publisher = $publisher";
}
$myData = mysql_query($sql,$con);
echo"<table border=3>
<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);
?>
note: all four are working individually<br />
not working when combined<br />
</form>
</body>
</html>
每次你使用【了'mysql_'(http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) 數據庫在新的代碼擴展 ** [小貓在世界某處扼殺](http://2.bp.blogspot.com/-zCT6jizimfI/UjJ5UTb_BeI/AAAAAAAACgg/AS6XCd6aNdg/s1600/luna_getting_strangled.jpg)**它已被棄用並已爲並且在PHP7中永遠消失了。 如果您只是學習PHP,請花些精力學習'PDO'或'mysqli'數據庫擴展。 [從這裏開始](http://php.net/manual/en/book.pdo.php) – RiggsFolly
只要合理縮進代碼應該現在**就罵你**在您的錯誤。 – RiggsFolly
嗨RiggsFolly,非常感謝您對PDO和mysqli的建議,對於PHP來說這是一個很好的建議。在您的編輯中,我一直在收到消息...解析錯誤:語法錯誤,意外的'='在C:\ xampp中\ htdocs \ stackedit.php在69行,任何幫助表示讚賞 – simmalbert