我目前有两个函数在我的数据库上执行查询;第一个对我的所有条目执行查询,第二个有规范(用于版本控制)。
数据库 - >的编辑 的
id | version_id | post_id
-------------------------
1 | 1 | 1
2 | 2 | 2
3 | 1 | 1
4 | 1 | 1
代码 - >的编辑 的
public function post($postid)
{
global $db;
$query = "SELECT * FROM news";
return $db->select($query);
}
public function version_count()
{
global $db;
$query = "SELECT * FROM news WHERE post_id='1' ORDER BY version_id DESC LIMIT 1";
return $db->select($query);
}
为了显示我的参赛作品,我尝试了以下内容,按预期进行,给我所有参赛作品:
$posts_array = $query->post($post);
foreach ( $counted_versions as $post )
{
echo $post->id . "-";
}
但是,我只想回显第2行和第4行,因为2是唯一的,4是最新的。
起初,我认为这种逻辑可行:
$posts_array = $query->post($post);
$counted_versions = $query->version_count();
foreach ( $counted_versions as $counted )
{
foreach ( $posts_array as $post )
{
echo $post->id . "-";
}
}
相反,我得到1-2-3-4-
如果我切换我的foreach循环,我得到4-4-4-4-
,而我希望2-4
或至少1-4
({}或4-2
或4-1
)。
有人有办法得到类似的结果吗?
答案 0 :(得分:0)
如果您希望每个id
获得最高post_id
,请使用以下查询:
SELECT post_id, MAX(id) max_id
FROM news
GROUP BY post_id