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 :

Annuaire: Affichage des différentes catégories


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut Annuaire: Affichage des différentes catégories
    Bonjour.

    Je voudrais afficher les différentes catégories de ma base de donnée sur une page php.
    J'ai 11 catégories dans ma base mysql mais je ne trouve pas l'exemple de code qui va me permettre d'afficher soit l'une ou l'autre des catégories sur une page php.

    Pourriez vous me donner un exemple svp.

    Je cherche depuis quelques temps sur le net mais sans résultat. Et je n'y comprend pas grand chose non plus.

    Merci pour votre aide.

  2. #2
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut
    Bonsoir...

    Si je comprends bien tu as un table "categorie" dans ta BDD... Peux-tu nous donner la structure de ta table afin de te donner un exemple de code...

    Parviens-tu déjà à te connecter à ta BDD ou doit-on aussi l'expliciter ?

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    Oui oui, j'arrive bien à afficher tous les résultats de ma base.

    J'ai 2 tables:
    - gc_tutoriels
    - gc_tut_cat

    Voici ma requête qui affiche mes résultats:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $retour_messages = mysql_query('
    SELECT * FROM gc_tutoriels
    INNER JOIN gc_tut_cat ON gc_tutoriels.id_cat_tut = gc_tut_cat.id_cat 
    ORDER BY id_tut DESC 
    LIMIT '.$premiereEntree.', '.$messagesParPage.'
    ') or die(mysql_error());
    Voici la structure de ma table gc_tut_cat:
    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
    --
    -- Structure de la table `gc_tut_cat`
    --
     
    CREATE TABLE IF NOT EXISTS `gc_tut_cat` (
      `id_cat` int(11) NOT NULL auto_increment,
      `lib_cat_tut` varchar(255) collate latin1_general_ci NOT NULL,
      KEY `id_cat` (`id_cat`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=12 ;
     
    --
    -- Contenu de la table `gc_tut_cat`
    --
     
    INSERT INTO `gc_tut_cat` (`id_cat`, `lib_cat_tut`) VALUES
    (1, 'Aides'),
    (2, 'Boutons'),
    (3, 'Effets de Texte'),
    (4, 'Effets Spéciaux'),
    (5, 'Textures'),
    (6, 'Effets Photo'),
    (7, 'Dessins'),
    (8, 'Scripts'),
    (9, 'Objets Graph.'),
    (10, 'Interfaces Web'),
    (11, 'Gifs - Gap');
    J'ai un script de pagination d'où le LIMIT

  4. #4
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut
    Si je comprends bien, tu essayes d'afficher le résultat de ta requête dans ta page ?
    Dans ce cas tu peux utiliser la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while($row = mysql_fetch_array($retour_messages))
    {
        echo $row['id_cat'];
        echo $row['lib_cat_tut'];
        ....
    }
    Voila j'espère avoir répondu à ta question...
    Bonsoir...

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    Non désolé je me suis mal fait comprendre.

    J'affiche parfaitement toutes les données de ma base mysql.
    Ce que je veux c'est avoir les liens de mes différentes catégorie et lorsque je clique sur le lien "aide" par exemple, toutes les entrées de cette catégorie s'affichent.

    Là actuellement c'est carrément toutes ma base qui s'affiche toutes catégories confondu.

    Je pense qu'il y a un système comme ça:
    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
        if($cat_id==1)
        {
        $cat_mane = "Aide";
        }
        elseif($cat_id==2)
        {
        $cat_mane = "Boutons";
        }
        elseif($cat_id==3)
        {
        $cat_mane = "Effets de Texte";
        }
        else
        {
        $cat_mane = "inconnu";
        }....
    Mais je ne m'explique pas comment faire les liens de catégories après

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Par défaut
    Je ne suis pas sur de bien comprendre non plus mais pour afficher les liens de chacune de tes catégorie il te faut exécuter cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //tu récupère toutes les catègories
    $req_categories="SELECT id_cat, lib_cat FROM gc_tut_cat";
    $categories=mysql_query($req_categorie);
    //tu les listes (en lien)
    while(list($id, $lib)=mysql_fetch_row($categories))
    {
      echo '<a href="ta_page?categorie='.$id.'">'.$lib.'</a>';
    }
    puis sur ta page "ta_page" tu récupère l'id de la catégorie cliquée et tu obtiens les bon résultats avec la même requête qui affiche tout en ajoutant une clause where de la catégorie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $retour_messages = mysql_query('
    SELECT * FROM gc_tutoriels
    INNER JOIN gc_tut_cat ON gc_tutoriels.id_cat_tut = gc_tut_cat.id_cat 
    ORDER BY id_tut DESC
    WHERE gc_tutoriels.id_cat_tut='".$_GET["id"]."' 
    LIMIT '.$premiereEntree.', '.$messagesParPage.'
    ') or die(mysql_error());

  7. #7
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    Je vais essayer numew mais je crois que l'on est sur la bonne voie lol
    enfin j'espère.

    Merci

  8. #8
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    J'ai ce message d'erreur qui apparaît:
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /mnt/140/sdb/7/6/mon_site/tutoriaux.php on line 16

    Ce qui correspond à la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(list($id, $lib)= mysql_fetch_row($categories))

  9. #9
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Par défaut
    problème dans la requête, rajoute un or die pour voir quelle est l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $categories=mysql_query($req_categories) or die (mysql_error());
    Ha aprés coup, j'ai compris il faut rajouter un "s" à $req_categories comme dans la ligne au dessus.

  10. #10
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    Merci numew.
    En fait le problème venait de lib_cat
    Il fallait que je mette lib_cat_tut.

    Donc pour les liens ça marche.

    Mais maintenant j'ai un autre problème et apparemment c'est de syntaxe:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE gc_tutoriels.id_cat_tut= LIMIT 0, 10' at line 4

  11. #11
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut
    WHERE gc_tutoriels.id_cat_tut= ???? LIMIT 0, 10

    Il faut mettre une condition dans ton WHERE

  12. #12
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    Et bien j'ai cette condition:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE gc_tutoriels.id_cat_tut='".$_GET["id"]."'
    Mais ça me met cette erreur:
    Parse error: syntax error, unexpected '"' in /mnt/140/sdb/7/6/monsite/tutoriaux/tutoriaux.php on line 105

  13. #13
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE gc_tutoriels.id_cat_tut=.'$_GET["id"]'.     ";
    ou je préférerais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    $id_cat =  $_GET['id'] ;
    .......... WHERE gc_tutoriels.id_cat_tut='$id_cat'     ";
    si cela peut aider

  14. #14
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    J'ai essayé tes 2 solutions nimbus_77 et voici le message d'erreur:
    Parse error: syntax error, unexpected T_VARIABLE in /mnt/140/sdb/7/6/monsite/tutoriaux/tutoriaux.php on line 105

    Ce qui se rapporte à le ligne:
    WHERE gc_tutoriels.id_cat_tut=.'$_GET["id"]'.
    ou l'autre aussi

  15. #15
    Membre confirmé Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Par défaut
    As tu vérifié si ton : $_GET["id"] te renvoie ce que tu attends ?

    nimbus

  16. #16
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 116
    Par défaut
    Ben en fait j'ai vérifié en mettant le lien:
    http://monsite.com/tutoriaux/tutoriaux.php?categorie=2
    par exemple mais ça me fait la même erreur.

    Y a t'il un autre moyen de vérifier stp?

  17. #17
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Par défaut
    fais un echo $_GET["categorie"] pour voir. Mais surtout remplace id par catégorie dans ta requête si tu ne l'a pas fait.

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: 1
    Dernier message: 26/10/2009, 11h29
  3. Réponses: 3
    Dernier message: 09/10/2009, 19h14
  4. Affichage des sous-catégories
    Par djuls dans le forum Langage
    Réponses: 8
    Dernier message: 01/09/2009, 18h29

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