Bonjour,
Je souhaite utiliser les jointures SQL pour faire le traitement suivant
Dans ma base de donnée j'ai 2 tables : blocks et blocks_interdit
Dans blocks, j'ai le nom du blocks, sa position ...
Dans blocks_interdit, j'ai le uniquement 2 champs : l'id du block + le nom du module
Mon but : Afficher les blocks uniquement dans les modules autorisés.
Par exemple, j'interdit le block "sondage" sur le module "index",
je veux donc chercher les informations des blocks du module "index" en enlevant ceux qui sont cités dans la table blocks_interdit avec le module "index". Donc dans cet exemple, j'aurais tous les blocks sauf celui du sondage car il sera dans la table blocks_interdit
Voilà ceux que j'ai fait mais ca ne marche pas, tous les blocks s'affichent :
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $select = $this->select(); $select->where("published = ?", 1); $select->order("ordering"); $select->join('blocks', 'blocks_interdit.bid = blocks.id AND blocks_interdit.module != '.$module.''); $blocks = $this->fetchAll($select);
Partager