※下拉式選單連結資料庫的多重查詢
首先分為頁面a.php跟b.php
a.php是給使用者下拉式選單的,而查詢到的資料將會在b.php呈現
資料庫名稱animal
查詢資料表單為homeani
================================================
【a.php】
//會post資料到b.php
<form action="b.php" method="post" accept-charset="utf-8" >
<p>
動物
<select name="Type" id="Type">
<option value="" selected></option>
<option value="狗">狗</option>
<option value="貓">貓</option>
<option value="兔">兔</option>
</select>
</p>
<input type="submit" name="Submit" value="搜尋寵物">
以上程式碼代表我有"動物"的下拉式選單,選擇項目有狗貓兔和一個空白(不指定動物)
和一個搜尋寵物的按鍵(按下按鍵會跳到new2的頁面)
==================================================
【b.php】
//連結到connSQL.php(此頁面裡面設定資料庫的帳密)
<?php
require_once('Connections/connSQL.php');
?>
<?php
//先設定變數給欄位值→偵測條件
$Type = $_POST['Type'];
//預設為全選
$sql = "SELECT * FROM homeani where 1 = 1 " ;
//以下判定篩選資料是否為預設的空值,若不是就偵測變數
if($Type != ""){
$sql .= "and Type = '".$Type."' " ;
}
// 連結到資料庫
$link= mysql_connect("localhost", "root", "1234");//(1,2,3=本機,帳號,密碼)
mysql_select_db("animal");
//設定編碼
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
// 做查詢資料的動作
$qry = mysql_query($sql);
//成功搜尋到資料與否的判斷式
if(mysql_fetch_array($qry)==0){
echo "<h1>沒有符合您篩選的條件,請重新查詢謝謝</h1>";
}else{
echo "<h1>我是符合您搜尋條件的寵物喔^^</h1>";
}
// 可以當作紀錄~從$query得到的變數去資料庫抓取出資料
while ($row = mysql_fetch_array($qry)) {}
主要困難:
1.多重下拉選單不會設變數去多重查詢
下拉選單的id若是為abc
那就設個變數$sql再讓它去抓取$abc的變數
2.連結資料庫有錯誤
要先在b.php上面先加入 require_once('Connections/connSQL.php');
在程式內再加入
$link= mysql_connect("localhost", "root", "1234");
mysql_select_db("animal");