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

PHP & Base de données Discussion :

Comment créer une sous catégorie dans mon site ?


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    Par défaut Comment créer une sous catégorie dans mon site ?
    Bonjour,

    Je suis en train de développer un petit site en php avec mysql, et j'aimerais pouvoir créer des sous catégories dans mon site.

    J'ai actuellement une boxe qui présente les différentes pages de mon sites par catégorie.
    • Catégorie 1
    • Catégorie 2
    • Catégorie 3
    • Catégorie 4


    J'aimerais pouvoir ajouter des sous catégories dans ses mêmes catégories.

    • Catégorie 1
      -------sous catégorie A
      -------sous catégorie B
      -------sous catégorie C
    • Catégorie 2
      -------sous catégorie A
      -------sous catégorie B
      -------sous catégorie C
    • Catégorie 3
    • Catégorie 4


    Actuellement, j'ai une table dans ma base de données

    cat_id numéro de la catégorie
    cat_name le nom de la catégorie
    descriptif ....
    keywords


    Comment puis je faire afin de créer des sous catégories?
    Si j'ajoute une catégorie elle est alors affichée directement dans ma boxe.
    J'aimerais que l'on puisse la sélectionner dans la catégorie mère en fait.

    Dois je créer une autre table ?

    Je suis débutant et suis ouvert a tout type de réponses
    Merci d'avance

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    je suis loin d'être expert en gestion de base mais bon...

    Oui, je pense que tu peux créer une nouvelle table avec un colonne "catégorie_parent" qui indique à quelle catégorie appartient chaque sous-catégorie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $categorie = mysql_query(select * from categorie);
    while ($row = mysql_fetch_array($categorie)){
    <div style="margin-left:40px">$ss_categorie = mysql_query(select * from ss_categorie where categorie_parent = '$row[0]');
    while ($ss_row = mysal_fetch_array($ss_categorie){
    <div style="margin-left:40px">echo $ss_row;</div>}</div>}

  3. #3
    Invité(e)
    Invité(e)
    Par défaut euh !!! :(
    en fait si tu appliques merise , il faut en efftet que tu cres une autre table .
    Tu peux aussi te debrouiller avec une seule table en ajoutant un champ père

    exemple ::

    idobjet - idpere - nomobjet
    1 NULL VEHICULE_4_roues
    2 1 FIAT PUNTO
    2 1 PORCHE 911
    3 NULL VEHICULE_2_roues
    2 3 YAMAHA FZR
    2 3 KAWASAKI

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    Par défaut
    merci bcp pour vos réponses
    j'étudie ca demain et je vous tiens informés

    Merci encore !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 81
    Points : 35
    Points
    35
    Par défaut
    ca m'a permit de comprendre certaines choses, merci à vous .

    donc j'ai créé un champ pere dans la table et quand la catégorie est une sous catégorie, op, je rajoute l'id de la catégorie principale.

    par contre, je ne voit pas bien comment je dois faire pour n'afficher que le pere dans l'arboressence.

    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
    27
    28
    29
    30
    31
    32
    33
    34
     
    <!-- code des categories -->
    <?php
    include("config.php");
    $querychamp = mysql_query("SELECT cat_id, cat_name, cat_idpere FROM categories",$db); 
    while($data = mysql_fetch_array($querychamp)) { 
     
     $cid = $data['cat_id']; 	 
     $name = $data['cat_name']; 	
     $pere = $data['cat_idpere'];
     
     if ($pere !=0) 
     {
     echo 'c'est une sous cat' 
    // j'ai testé ici et ca me met bien que c'est une catégorie fille :)
    
    
     //RAJOUTS julien.63
     /*		$ss_categorie = mysql_query("select * from categories where cat_id = '$row[0]",$db);
    		while ($ss_row = mysal_fetch_array($ss_categorie)
    		{
    		echo $ss_row;
    		}
    // en fait je ne souhaite afficher que la catégorie pere dans la boxe.
    // apres si l'utilisateur la visite, op, ca lui montre la ou les catégories filles.
     */
     }
     
    		echo '<li><a href="jeux.php?cid='.$cid; 
    		if(!$id =='') echo '&id='.$id;
    		echo '">'.$name.'</a></li>';
    }
    ?>
    	<!-- code des categories -->

    si quelqu'un a une idée ...
    je suis à votre écoute
    merci encore.

  6. #6
    Invité(e)
    Invité(e)
    Par défaut exemple
    comme dans l'exemple que je t'ai donné le père a un id pére a NULL , tu comprendras qu'un père ne peut pas avoir de père.
    et les sous categories du père ont un idpère avec la valeur du père en question

    il te suffit de faire une boucle imbriquée.

    while père
    affiche père
    while fils
    affiche fils du père
    end while
    end while


    exemple ::

    idobjet - idpere - nomobjet
    1 NULL VEHICULE_4_roues
    2 1 FIAT PUNTO
    2 1 PORCHE 911
    3 NULL VEHICULE_2_roues
    2 3 YAMAHA FZR
    2 3 KAWASAKI

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/03/2013, 13h23
  2. Comment créer une URL Rewriting dans un sous-repertoire ?
    Par Alexandrebox dans le forum Apache
    Réponses: 1
    Dernier message: 26/03/2009, 20h44
  3. Réponses: 2
    Dernier message: 15/12/2008, 16h12
  4. Réponses: 6
    Dernier message: 19/07/2006, 13h48
  5. Réponses: 10
    Dernier message: 16/05/2006, 14h13

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