直接切入主題,我有兩個頁面,第一頁有一個收尋表格,可收尋到資料庫資料。
按下收尋後會開啟第二頁,也就是POST那頁,抓資料都沒問題,我在這一頁新增了下拉式選單,如下圖顯示,這個功能是正常的,在不收尋資料庫下,這功能都可正常顯示,如果收尋了資料庫,就會顯示資料庫錯誤,我猜是
onChange="location = this.options[this.selectedIndex].value;"
會進行跳頁,導致資料庫沒有連接,我該如何下手資料庫才不會發生錯誤?
資訊如下圖
下拉式選單
網頁顯示
如果收尋資料後,會開啟post頁面,資料會帶入表格,但在選擇下拉式 則會出現資料庫錯誤,如下。
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC SQL Server Driver][SQL Server]接近 '=' 之處的語法不正確。, SQL state 37000 in SQLExecDirect in D:\AppServ\www\hr\dblink.php on line 38
在 odbc_exec 有錯誤發生( 沒有指標傳回 )
假設你第一頁的搜尋,傳了一個搜尋的條件到第二頁,然後第二頁在搜尋結果出來後,另外有個下拉選單可以選額外篩選的東西。
例如第一頁:
<form method="post" action="page2.php">
<input type="text" name="searchValue" />
<input type="submit" />
</form>
然後在第二頁:
<?php
$searchValue = 過濾($_POST["searchValue"]);
$filterValue = $_POST["filterValue"] ? 過濾($_POST["filterValue"]) : 0;
$sql = "select * from xxx where col1='$searchValue'";
if($filterValue > 0) $sql .= " AND col2 = '$filterValue'";
//查詢$sql
?>
<form method="post">
<input type="hidden" name="searchValue" value="<? = $searchValue ?>" />
<select name="filterValue" onchange="this.submit()">
<option value="0" <?php if($filterValue==0) echo 'selected';?>>請選擇</option>
<option value="1" <?php if($filterValue==1) echo 'selected';?>>行政</option>
<option value="2" <?php if($filterValue==2) echo 'selected';?>>人資</option>
...
</select>
</form>
<div>顯示結果</div>
大概像這樣