我有三张桌子
site_article | site_famille_articles | site_categorie
id | id | id
titre | titre | titre
famille_id | categorie_id
famille_id是site_famille_articles的约束键 categorie_idis对site_categorie的约束键
在我的网站上,我希望每页最多显示4个'site_famille_articles'项目,并为所选'site_categorie'的每个'site_famille_articles'显示最多6个'site_article'项目
我希望我到达解释我的问题
有没有办法在mysql
中做到这一点这是我试过的东西
$table_categorie = "site_categorie";
$table_famille_articles = "site_famille_articles";
$table_article = "site_article";
$sql = "SELECT $table_article.id as article_id,
$table_article.titre as article_titre,
$table_famille_articles.titre as famille_titre
FROM $table_article
LEFT JOIN $table_famille_articles on $table_article.famille_id = $table_famille_articles.id
LEFT JOIN $table_categorie on $table_famille_articles.categorie_id = $table_categorie.id
WHERE $table_categorie.id IN
( SELECT id FROM $table_categorie WHERE $table_categorie.titre like '%".$_POST['titre_categorie']."%' )
ORDER BY famille_titre ASC"
此查询允许我将所有'site_article'项目按'site_famille_articles'分组为所选'site_categorie'
这是一个例子: 这个查询:
SELECT site_article.id as article_id, site_article.titre as article_titre, site_famille_articles.titre as famille_titre FROM site_article LEFT JOIN site_famille_articles on site_article.famille_id = site_famille_articles.id LEFT JOIN site_categorie on site_famille_articles.categorie_id = site_categorie.id WHERE site_categorie.id IN ( SELECT id FROM site_categorie WHERE site_categorie.titre like 'Peinture' ) ORDER BY famille_titre ASC
给我这个结果:image