By: fabien
Date: 2008-11-13
Time: 14:09
|
Affichage SELECT imbriqués
Bonjour,
Le sujet n'est peut-être pas très explicite, voici mon problème.
J'ai un petit script d'affichage de photos, celle-ci sont classées dans des catégories, donc pour avoir un menu de ces catégories avec affichage d'une vignette pour illustrer la catégorie, une première requête sur la table des catégories liste ces catégories et ensuite une seconde ramène le dernier enregistrement de la table pictures. Mais je ne vois pas comment l'implémenter avec TBS.
Voici en gros la partie de code importante. le MergeBlock n'a bine sur pas sa place ici, mais je bloque....
$TBS->LoadTemplate('templates/'.$template_name.'/index_template.php');
// Liste des photos
$query = '
SELECT
CAT_ID,
CAT_title,
CAT_desc
FROM '.DBPREFIX.'categories
ORDER BY CAT_ID
';
$qry = $oConn->query ($query);
while ($thecat = $oConn->fetch_assoc ($qry)) {
$query2 = '
SELECT
PIC_ID,
PIC_category,
PIC_title,
PIC_desc,
PIC_path,
PIC_active,
PIC_order,
PIC_created
FROM '.DBPREFIX.'pictures
WHERE PIC_category = '.$thecat['CAT_ID'].'
LIMIT 1;
';
$TBS->MergeBlock('cat_list','mysql',$query2);
}
|
Merci de votre aide.
fabien.
|
By: Skrol29
Date: 2008-11-20
Time: 17:46
|
Re: Affichage SELECT imbriqués
Bonjour Fabien,
Deux solutions simples :
Solution 1 :
Faire un MergeBlock() de tes catégories, suivi d'un MergeBlock() sur les photos avec la technique des sous-blocs (voir manuel en ligne).
Solution 2 :
Tu fait une seul MergeBlock() sur une requête qui fait la jointure photos+catégorie. Côté HTML, tu utilises une section headergrp pour afficher les info de catégories dans un entête de groupe.
|