关于thinkPHP中 foreach 里面执行sql语句

各位师兄 我有如下问题万望解决:
这是获取advert_article_id的效果:

两表联查sql2如下:
SELECT
a.advert_title,
b.advert_article_id,
b.fabu_time,
b.advert_address
FROM tb_advert_article a LEFT JOIN
tb_advert_article_address b ON a.id=b.advert_article_id
WHERE b.kehu_id=60
效果如下:

我想要的效果是:先根据第一次查询得到的advert_article_id,在foreach循环里面执行sql2,然后得到如下结构的数据:

在线等待 望解决
补充一下:sql1是在foreach外面执行的 foreach里面的循环是根据在外面得到的advert_article_id来执行查询和循环的

原生SQL查询有 query() 和 execute() 两个方法:
query():用于 SQL 查询操作,并返回符合查询条件的数据集
execute():更新和写入数据的 SQL 操作,返回影响的记录数

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());
}
}追问

啊?不是啊 我是要在foreach里面执行sql语句啊

温馨提示:内容为网友见解,仅供参考
无其他回答

在Thinkphp框架中,使用foreach循环不能给$this->arr[]赋值,求指导_百度...
class TestController extends AdminController { private $newarr = array(); \/\/格式化后的分类 private $oldarr = array(); \/\/原始的分类数据 public function searchlist(){ i=0;foreach($child as $k => $v){ this->newarr[$i] = $v;i++;} var_dump($this->newarr);} } ...

thinkphp中foreach循环输出中,如何只对其中一条进行操作
this->display.

thinkphp3.2.3 关于两表关联的问题。
public function lists(){ $list1 = M('a')->select();\/\/a表所有项目id foreach ($list1 as $k1=>$v1){ \/\/通过a表id关联b表uid,查询b表name及每个项目人数 $list2 = M('b')->where(array('uid'=>$v1['id']))->select(); $list1[$k1]['people_num'] ...

thinkphp foreach循环体内 怎么获取上一次循环的值!
foreach遍历数组和对象时,并不会返回数组的下标,而且数组下标并不能体现循环次数,因为下标可以不连续。如果需要获取循环次数,要自己定义变量。例如:i = 0;arr = array(1, 2, 3, 4);foreach ($arr as $value) { i++;echo '第'.$i.'次循环:'.$value;} ...

thinkphp 怎么实现循环取二级菜单
foreach($Category as $key=>$value){ \/\/循环读取 pid = $value['category_id'];\/\/字段赋值 Category[$key]['child'] = D('Category')->where("category_pid =$pid")->select();\/\/echo D('Category')->getLastSql(); \/\/打印sql语句的写法 } } \/\/dump($Category);this->...

ThinkPHP中foreach和volist的区别
1.foreach标签 foreach标签用于循环输出:foreach(name,item,key)name(必须):要输出的数据模板变量 item(必须):循环单原变量 key(可选):循环的key变量,默认值为key 示例:<foreach name='list' item='vo'> {$vo.id} {$vo.name} <\/foreach> foreach标签相对于volist标签简洁,没有volist标签...

ThinkPHP-<volist><\/volist>标签,模板调用循环输出数据如何按照指定顺 ...
排序还是能过SQL语句来操作,TP的排序语法是 list = M('表名')->order("listorder ASC")->select();\/\/升序排列 list = M('表名')->order("listorder DESC")->select();\/\/降序序排列 当然如果写的Model层,也可以将M("表名")换成D("Model层名")...

thinkphp 查询 and or and
in 里面可以有很多参数,如果in里面数据量比较大,可以用数组存储,如 array = (1,2,3,4,5);str = '';foreach($array as $val){ str .= $val . ','; \/\/将值后面拼接一个逗号 } array = rtrim($str,','); \/\/将数组变成合法的字符串 select * from x where id=1 and name ...

PHP+mysql插入上千万条数据,导致内存不足,寻求释放内存方法
我给你个思路,利用游览器的刷新机制,每执行10秒刷新一下自动更新下一串数据,一串多少数据,看你的SQL效率而定。就这样一直刷新更新,到结束为止。

ThinkPHP中foreach和volist的区别
1、foreach标签类似与volist标签,只是更加简单,没有太多额外的属性,例如: {$vo.id}:{$vo.name} name表示数据源 item表示循环变量。代码示例:<foreach name="list" item="vo" > {$key}|{$vo.id}:{$vo.name}<\/foreach>2、volist标签通常用于查询数据集(select方法)的结果输出,通常...

相似回答