GAGA Template

XLetter

block, sous block

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Page : 1
KenKiller Posté le 13/08/2007 20:17 - #

Membre
9 messages
19 ans
Salut à tous !

Je rencontre un problème qui me prend la tête depuis plus d'un heure.

Pour être le plus clair possible, je vais voius montrer mon code :

$cat = mysql_query("SELECT * FROM isifo_cats") or die (mysql_error());

                        while ($cats = mysql_fetch_array($cat))

                        {

                                $tpl->assign_block('cat', array('titre' => $cats['titre'], 'id' => $cats['id']));

                               

                                /*Selection des sous catégories.*/

                                $forum = mysql_query("SELECT * FROM isifo_sous_cats WHERE cat='". $cats['id'] ."'") or die(mysql_error());

                                while ($forums = mysql_fetch_array($forum));

                                {

                                        $id_sujet = mysql_query("SELECT * FROM isifo_sujets WHERE titre='". $forums['dern_sujet'] ."'") or die(mysql_error());

                                        $id_sujets = mysql_fetch_array($id_sujet);

                               

                                        $query = mysql_query("SELECT COUNT(*) AS nbre_entre FROM isifo_sujets WHERE cat='". $forums['id'] ."'") or die(mysql_error());

                                        $donnee = mysql_fetch_array($query);

                  

                                        $query1 = mysql_query("SELECT COUNT(*) AS nbre_entre FROM isifo_reponses WHERE cat='". $forums['id'] ."'") or die(mysql_error());

                                        $donnee1 = mysql_fetch_array($query1);

                  

                                        $tpl->assign_block('cat.sous_cat', array('cat_id' => $forums['id'],

                                                                                                                                'cat_titre' => $forums['titre'],

                                                                                                                                'nbre_sujet' => $donnee['nbre_entre'],

                                                                                                                                'nbre_message' => $donnee['nbre_entre']+$donnee1['nbre_entre'],

                                                                                                                                'dern_date1' => date('d/m/Y',$forums['dern_date']),

                                                                                                                                'dern_heure1' => date('H\h i',$forums['dern_date']),

                                                                                                                                'dern_pseudo1' => $forums['dern_pseudo'],

                                                                                                                                'dern_id' => $forums['id'],

                                                                                                                                'dern_sujet1' => $forums['dern_sujet']

                                                                                                                                ));

                                }

                               

                        }


Mon problème est que le deuxième while ne s'effectue pas.

Je me demandé donc, si les block sous block fonctionné comme je les ai utilisé, donc le problème viendrait d'ailleur (mais où...), ou le problème vient de là ??

Merci de votre aide.

gaga26 Posté le 14/08/2007 14:51 - #



741 messages
18 ans
Salut,

L'assignation à l'air juste, maintenant, il faut voir le template.

Par contre je n'approuve pas du tout ta manière de faire tes requêtes, c'est un genre de code à avoir 50 requêtes par page...

KenKiller Posté le 14/08/2007 16:11 - #

Membre
9 messages
19 ans
voilà le template

<!-- BEGIN cat -->

                                                               

                                                                <tr class="titre_cat">

                                                                        <td colspan="4">{$titre} : {$id}</td>

                                                                </tr>

                                                               

                                                                        <!-- BEGIN cat.sous_cat -->

                                                               

                                                                                <tr class="sous_cat">

                                                                                        <td><a href="forum-2-{$cat_id}.html">{$cat_titre}</a></td>

                                                                                        <td>{$nbre_sujet}</td>

                                                                                        <td>{$nbre_message}</td>

                                                                                        <td class="dern_sujet">

                                                                                                {if(!empty($dern_date1) && !empty($dern_pseudo1) && !empty($dern_sujet1))}

                                                                                                Le : {$dern_date1} à {$dern_heure1}<br/>

                                                                                                Par : <span class="membre"><a href="membre-4-{$dern_pseudo1}.html">{$dern_pseudo1}</a></span><br/>

                                                                                                Sujet : <span class="lien_sujet"><a href="forum-3-{$id}-{$dern_id}.html">{$dern_sujet1}</a></span>

                                                                                                {/if}

                                                                                        </td>

                                                                                </tr>

                                                                               

                                                                        <!-- END cat.sous_cat -->

                                                               

                                                                <!-- END cat -->


Et que suggère tu pour faire de meilleur requête ??

gaga26 Posté le 14/08/2007 17:07 - #



741 messages
18 ans
C'est bizarre, ton template est juste. Tu es sûr que tes requêtes retourne quelque chose ?

Cherche jointure+mysql dans google.

KenKiller Posté le 14/08/2007 17:16 - #

Membre
9 messages
19 ans
Ca y est j'ai trouvé l'erreur !!!!!!!!

Il y avait un ';' a la fin du while, ce qui faisait tout planté.

Je suis ouvert à tes propositions d'utiliser les jointures, car personellement, je ne vois pas où les utiliser

Edité par KenKiller le 14/08/2007 18:08

Jashugal Posté le 14/08/2007 20:58 - #

Membre
23 messages
17 ans
Pour le nombre de sujets/réponses, ne fait pas de requête à l'affichage.
Tu mets ces informations dans la table forums(ou cats), et tu update +1 à chaque réponse/nouveau sujet.
Pour les jointures, je te renvoie sur le tuto du site du zero, c'est expliqué il me semble.

Edité par Jashugal le 14/08/2007 20:58

Noix de Coco Posté le 14/08/2007 21:08 - #


Membre
36 messages
16 ans
En effet :

http://www.siteduzero.com/tuto-3-8504-1-les-jointures-moyen-d-economiser-des-ressources.html

Page : 1

Vous devez être inscrit et connecté pour pouvoir écrire dans les forums

Retour au forum Balises, à la liste des forums, ou au haut de page