Php 如何在一次查询中选择所有新闻条目和对他的所有评论
答复问题* 你真的认为这是最好的方式吗 我还需要获取当前用户[authorId]=>99的所有新闻 范例 并获取此用户的所有评论 范例 其他表格用户Php 如何在一次查询中选择所有新闻条目和对他的所有评论,php,mysql,mysqli,Php,Mysql,Mysqli,答复问题* 你真的认为这是最好的方式吗 我还需要获取当前用户[authorId]=>99的所有新闻 范例 并获取此用户的所有评论 范例 其他表格用户 $users = array( [0] = array( [userId]=>99, [userName]=>"User99" ) ); 之后 select * from news n left join users u on n.authorId = u.userId where n.authorId = 99 进入此选择按钮,
$users = array(
[0] = array(
[userId]=>99,
[userName]=>"User99"
)
);
之后
select * from news n left join users u on n.authorId = u.userId where n.authorId = 99
进入此选择按钮,按select以获取评论
array(
[0] => array(
[id] => 1 // news' id
[userId] => 99,
[data]=>"Lorem Ipsum",
[comments] => array(
[0] => arra(
[comId] => 1 // comment's id
[userId] => 99
[data]=>"bla bla"
),
...
)
),
...
)
问题***(上)
第一个查询获取所有新闻文章并将它们放入一个数组中。第二个查询获取评论,并在每个新闻文章的结构中累积一个单独的数组
但是如果这个查询和foreach两个数组在
例子
10000刷新页面?您必须使用逻辑缓存 1) 如果您获得许多记录并限制分页查询结果 2) 以不同的方式为每个表提供单独的信息
$user = array();
$comments = array();
3) 使用foreach和array\u merge组合两个数组
$merge = array();
$i=0;
foreach ($comments as $row) {
extract($row);
if(in_array($iduser, $user)):
$merge[$i] = $comments + $user;
endif;
$i++;
}
这是一个没有试过的伪代码,可能应该做一些调整。我希望你能为我服务
$user = array();
$comments = array();
$merge = array();
$i=0;
foreach ($comments as $row) {
extract($row);
if(in_array($iduser, $user)):
$merge[$i] = $comments + $user;
endif;
$i++;
}