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 没有表前缀的例子,在查询语句中,查询的表应该写实际的表名字(包括前缀)。