IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Affichage des sous-catégories


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par défaut Affichage des sous-catégories
    Bonjour,

    j'ai une table qui s'appelle 'ann_categories' de cette format là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "(`id_cat`, `parent`, `category`, `msg`, `speech`, `order`, `publi`, preq`)"
    Le contenu de la base de donnée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    (1, 0, 'Auto Moto & Bateau', '', '', 1, '1', '0'),
    (2, 1, 'Auto', '', '', 1, '1', '0'),
    (3, 1, 'Moto', '', '', 2, '1', '0'),
    (4, 0, 'Immobilier, vente location', '', '', 2, '1', '0'),
    (5, 4, 'Immobilier neuf', '', '', 2, '1', '0'),
    (6, 4, 'Immobilier professionnel', '', '', 3, '1', '0'),
    (7, 4, 'Immobilier, vente location', '', '', 4, '1', '0'),
    Donc ce que je veux avoir au juste c'est que lorquon est dans une catégorie mère, je souhaiterais afficher les sous catégories, merci de votre attention.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    function catSelect($id){
    	$tab_rub=$GLOBALS["tab_rub"];
    	$catId=$cat["id_cat"];
    $q="SELECT * FROM ann_categories WHERE parent=0 and publi=1";
    $res=DBquery($q,0);
    $cnt=count($res);
     
    if(is_array($res)){
    $out="<select name=\"catId\">";
    $out.="<option value=\"0\">All ads</option>\n";
    	foreach($res as $cat)
    	{
    		$catId=$cat["id_cat"];
    		$catUrl=urlize($cat["category"]);
    		$catName=$cat["category"];
    		$sel=$id==$catId?"selected":"";
    		$out.="<option value=\"$catId\" $sel>$catName</option>\n";
     
    	}
    	$out.="</select>";
    }
    return $out;
    }

  2. #2
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    dans ta premiere boucle, tu dois ajouter une 2ieme requete SQL qui va chercher et boucler avec dedans WHERE parent = '$id_parent'

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par défaut
    J'ai ajouté une requête pour appeler les sous-catégories dans la boucle, mais je ne vois pas comment définir le résultat de la requête, si tu peux me montrer comment, merci.

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php
    echo "<ul>";
    $sql = "SELECT * FROM ann_categories WHERE parent = '0' AND publi = '1'";
    $q = mysql_query($sql); // Requete principale : CATEGORIES
    if (mysql_num_rows($q) > 0) {
         while ($r = mysql_fetch_assoc($q)) {
              // $r est un tableau contenant toutes les informations d'une catégorie (et on boucle sur toutes les catégories)
              echo "<li>".$r['cat'];
              $sql2 = "SELECT * FROM ann_categories WHERE parent = '".$r['id_cat']."' AND public = '1'";
              $q2 = mysql_query($sql2); // Requete secondaire : SOUS-CATEGORIES
              if (mysql_num_rows($q2) > 0) {
                   echo "<ul>";
                   while ($r2 = mysql_fetch_assoc($q2)) {
                        // Affichage des sous-catégories
                        echo "<li>".$r2['category']."</li>";
                   }
                   echo "</ul>";
              }
              echo "</li>";
         }
    }
    echo "</ul>";
    ?>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2006
    Messages : 18
    Par défaut
    J'ai essayé d'implementer les lignes dans cette fuctions, mais ça me retourne une liste vide, vous pouvez voir d'ou ça provient s'il vous plaît.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    function catSelect($id){
    	$tab_rub=$GLOBALS["tab_rub"];
    	$catId=$cat["id_cat"];
    	$q="SELECT * FROM ann_categories WHERE parent = '0' AND publi = '1'";
    	$res=DBquery($q,0); // Requete principale : CATEGORIES
    	$out="<select name=\"catId\">";
    	$out.="<option value=\"0\">All ads</option>\n";
    	if (mysql_num_rows($res) > 0) {
    		while ($r = mysql_fetch_assoc($res)) {
    			$catId=$cat["id_cat"];
    			$catUrl=urlize($cat["category"]);
    			$sel=$id==$catId?"selected":"";
    			$out.="<option value=\"$catId\" $sel>.$r\['cat'\].</option>\n";
    			$sql2 = "SELECT * FROM ann_categories WHERE parent = '".$r['id_cat']."' AND public = '1'";
    			$q2 = DBquery($sql2,0); // Requete secondaire : SOUS-CATEGORIES
    			if (mysql_num_rows($q2) > 0) {
    				while ($r2 = mysql_fetch_assoc($q2)) {
    					// Affichage des sous-catégories
    					$out.="<option value=\"$catId\" $sel>.$r2\['category'\].</option>\n";
    				}
    				$out.="</select>";
    			}
    			return $out;
    		}
    	}
    }

  6. #6
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    as-tu au moins testé mon code ? -_-

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if( non, tu n as pas testé ) {
         'test dabord de lire les réponses quon te donne'
    } elseif( oui tu as testé ) {
         'es-tu certain daccéder aux bonnes valeurs de tes variables dans ta fonction ?'
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PrestaShop] SEO : affichage des sous-catégories
    Par sami_c dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 04/06/2013, 17h45
  2. Réponses: 3
    Dernier message: 09/10/2009, 19h14
  3. Contrôler l'affichage des sous-états
    Par Noline dans le forum Access
    Réponses: 1
    Dernier message: 31/07/2006, 19h14
  4. affichage des sous-formulaires
    Par hkiko abdelhaq dans le forum Access
    Réponses: 2
    Dernier message: 18/04/2006, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo