A. php 下拉列表 動態查詢,麻煩給個示例
HTML 類似這樣<html>
<body>
<form>
<select name="cars" onchange="go(this)">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="audi">Audi</option>
<option value="fiat" selected="selected">請選擇</option>
</select>
</form>
<script>function go(t){alert(t)}</script>
</body>
</html>
go後面加AJAX從PHP讀數據吧,可以用$.ajax之類的,PHP $_REQUEST拿數據,處理,資料庫搜索,再顯示不就好了
B. thinkphp或php按條件選擇查詢實現思路或實例
這種都應該有一個配置參數,某個具體的選取有一個值,在點擊之後通過http請求或者ajax來向伺服器提取具體參數就可以了
C. 求PHP 查詢和寫入 SQL資料庫 不跳轉頁面的寫法例子。
不跳轉的話只能用ajax來做
D. php封裝mysql聯合查詢和關聯查詢。 請寫個例子。
有兩個表,A表存儲臨時數據,B表存儲永久數據,AB表有相同的id欄位,為了區別A的叫gid,B的就叫id。
id都是唯一的。需要按照A表id的順序讀取A和B的所有數據。
查詢語句:
$sqlt="select * FROM A LEFT JOIN B ON A.gid=B.id ORDER BY gid DESC ";
方法:
left join:聯合兩個表:條件是id相同,順序按照A表排列。
E. 剛學php的小白,問一下這個查詢該怎麼寫
思路:
先查出上述的二維數據,然後遍歷查出的二維數組,根據每條的成員id查詢出user_name,添加到查詢出的二維數組中,最後在渲染輸出
示例:
//獲取資料庫實例
$dsn='mysql:dbname=test;host=127.0.0.1';
$user='root';
$password='';
try{
$db=newPDO($dsn,$user,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND=>"setnamesutf8"));
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();
}
//得到的二維數組
$data=[
[
'id'=>'1',
'range'=>'所在部門以及下級部門',
'功能項'=>'72',
],
[
'id'=>'1',
'range'=>'所在部門以及下級部門',
'功能項'=>'78,72',
],
[
'id'=>'10,7',
'range'=>'所在部門以及下級部門',
'功能項'=>'72,82',
],
];
//遍歷
foreach($dataas&$item){
$sth=$db->query('selectuser_namefromuserwheremember_idin('.$item['id'].')');
$user=$sth->fetchAll(PDO::FETCH_ASSOC);
$sth->debugDumpParams();
$item['member_name']=implode(',',array_column($user,'user_name'));
}
unset($item);
var_mp($data);
輸出
array(3){
[0]=>
array(4){
["id"]=>
string(1)"1"
["range"]=>
string(30)"所在部門以及下級部門"
["功能項"]=>
string(2)"72"
["member_name"]=>
string(6)"李明"
}
[1]=>
array(4){
["id"]=>
string(1)"1"
["range"]=>
string(30)"所在部門以及下級部門"
["功能項"]=>
string(5)"78,72"
["member_name"]=>
string(6)"李明"
}
[2]=>
array(4){
["id"]=>
string(4)"10,7"
["range"]=>
string(30)"所在部門以及下級部門"
["功能項"]=>
string(5)"72,82"
["member_name"]=>
string(13)"劉海,達明"
}
}
F. 怎樣試用PHP原生語句查詢資料庫
原生SQL查詢有 query() 和 execute() 兩個方法:
query():用於 SQL 查詢操作,並返回符合查詢條件的數據集
execute():更新和寫入數據的 SQL 操作,返回影響的記錄數
query()
query() 方法是用於 SQL 查詢操作,和select()方法一樣返回符合查詢條件的數據集。
例子:
public function read(){
// 實例化一個空模型,沒有對應任何數據表
$Dao = M();
//或者使用 $Dao = new Model();
$list = $Dao->query("select * from user where uid<5");
if($list){
$this->assign('list', $list );
$this->display();
} else {
$this->error($Dao->getError());
}
}
對於 query() 方法返回的數據集,跟 select() 一樣,可以在模板里直接循環輸出。
execute()
execute() 方法用於更新和寫入數據的 SQL 操作(註:非查詢操作,無返回數據集),返回影響的記錄數。
例子:
public function read(){
header("Content-Type:text/html; charset=utf-8");
// 實例化一個空模型,沒有對應任何數據表
$Dao = M();
//或者使用 $Dao = new Model();
$num = $Dao->execute("update user set email = '[email protected]' where uid=3");
if($num){
echo '更新 ',$num,' 條記錄。';
}else{
echo '無記錄更新';
}
}
如果查詢比較復雜或一些特殊的數據操作不能通過 ThinkPHP 內置的 ORM 和 ActiveRecord 模式實現時,就可以通過直接使用原生 SQL 查詢來實現。
注意:以上都是 user 沒有表前綴的例子,在查詢語句中,查詢的表應該寫實際的表名字(包括前綴)。