如圖所示,我的網頁後台使用php實現的,我想實現沒有點擊查詢按鈕時,在下面的表格中顯示資料庫中的全部項目資訊;點擊查詢後,顯示符合條件的項目,目前我的顯示這種,我沒有設定未點擊查詢的情況,我應該用什麼寫? JS還是php?大體該怎麼寫
目前我只寫了這篇
<code> mysql_select_db("wuliu", $con); $result=mysql_query("SELECT * from content_info where title='$_POST[textfield22]' and submiter='$_POST[textfield322]' and area='$_POST[select]' and field='$_POST[select2]' and pass=0"); while($row = mysql_fetch_array($result)) { echo"<tr class='midTable1td2'>"; echo "<td><input type='radio' name='radiobutton' value='radiobutton'>"; echo "</td>"; echo "<td>".$row['UpdateDate'].$row['UpdateTime']./*2004-10-14 10:08:01*/"</td>"; echo "<td>".$row['area']."</td>"; echo "<td>".$row['field']."</td>"; echo "<td>".$row['title']."</td>"; echo "<td>".$row['submiter']."</td>"; echo "</tr>"; } mysql_close($con);</code>
如圖所示,我的網頁後台使用php實現的,我想實現沒有點擊查詢按鈕時,在下面的表格中顯示資料庫中的全部項目資訊;點擊查詢後,顯示符合條件的項目,目前我的顯示這種,我沒有設定未點擊查詢的情況,我應該用什麼寫? JS還是php?大體該怎麼寫
目前我只寫了這篇
<code> mysql_select_db("wuliu", $con); $result=mysql_query("SELECT * from content_info where title='$_POST[textfield22]' and submiter='$_POST[textfield322]' and area='$_POST[select]' and field='$_POST[select2]' and pass=0"); while($row = mysql_fetch_array($result)) { echo"<tr class='midTable1td2'>"; echo "<td><input type='radio' name='radiobutton' value='radiobutton'>"; echo "</td>"; echo "<td>".$row['UpdateDate'].$row['UpdateTime']./*2004-10-14 10:08:01*/"</td>"; echo "<td>".$row['area']."</td>"; echo "<td>".$row['field']."</td>"; echo "<td>".$row['title']."</td>"; echo "<td>".$row['submiter']."</td>"; echo "</tr>"; } mysql_close($con);</code>
判斷是否有post,有post才執行查詢。
<code>if(isset($_POST)){ //这里是你发出来了那部分 }</code>
sql拼接有問題
將where語句分開。
<code>$where = ""; if(isset($_POST)){ $where = "where title='$_POST[textfield22]' and submiter='$_POST[textfield322]' and area='$_POST[select]' and field='$_POST[select2]' and pass=0""; } $result=mysql_query("SELECT * from content_info ".$where);</code>
強烈建議參數化查詢,防止注入
http://php.net/manual/zh/clas...
思路:
1.用分頁查詢的方式,每一頁顯示 10條資訊
2.GET方式提交表單 拼裝SQL語句
3。當沒有查詢條件的時候,則查詢全部(分頁)
php和js都可以。
你報錯的原因是因為你呼叫$_POST變數錯了。
$result=mysql_query("SELECT * from content_info where title='$_POST[textfield22]' and submiter='$_POST[textfield322]' and area='$_POST[select]' and field='$_POST[select2] ' 和 pass=0");
改為
$result=mysql_query("SELECT * from content_info where title='".$_POST['textfield322']."' and submiter='".$_POST['textfield322']."' and area='".$ _POST['select']."' and field='".$_POST['select2']."' and pass=0");
像樓上說的,最好是做個分頁處理。 mysql語句裡面用limit去處理下。
不要這麼拼接sql語句啊,分分鐘搞出個sql注入出來。
建議在這個拼接語句的外部設定變數預設值,然後接收到post資料後校驗並過濾後再覆寫舊預設值,再拼接查詢語句吧。
這樣子既安全,又解決你的需求。
1.$_POST陣列裡面的key對應的值要給一個預設值
2.加上分頁
3.好好學習,天天向上