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 :

Système de catégorie [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut Système de catégorie
    Bonsoir,

    ayant besoin d'un système de catégorie pour mon futur site, j'ai décider de m'y mettre à la patte. J'ai réussis à coder quelque chose de bon même je suis très fier de moi .

    Le problème c'est que je ne peux associer un tutoriel à un titre.
    Quand je clic sur le titre sa m'envoie vers le tutoriel correspondant est, c'est particulièrement là que je bloque.

    J'ai 3 table :

    cat > contient :

    >cat_id : l'id de la catégorie
    >cat_nom : le nom de la catégorie

    liste > contient :

    >id : l'id du titre
    >liste_nom : le nom du titre

    lire > contient :

    >id : l'id du tutoriel
    >titre : titre du tutoriel
    >contenu : contenu du tutoriel

    Pour la page index.php celle qui affiche les catégorie principale de la table cat j'ai fais sa :

    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
     
    <?php
    //Connexion MySQL
     
    $retour = mysql_query('SELECT * FROM cat 
    LIMIT 0, 500');
    while ($cat = mysql_fetch_array($retour)) // On fait une boucle pour lister les catégorie
    {
    echo'
    <tr>
    <td style="width:1%;text-align:center;">20</td>
    <td><a href="liste.php?cat_id='.$cat['cat_id'].'">'.$cat['catnom'].'</a></td>
    </tr>';
    }
    ?>
    Pour la page liste.php celle qui affiche les titre des tutoriels (suivant la catégorie) de la table liste j'ai fais sa :

    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
     
    <?php
    //Connexion MySQL 
     
    $id = $_GET['cat_id'];
    $cat = $_GET['cat_id'];
     
    $retour = mysql_query('SELECT * FROM liste WHERE id = "'.$id.'" 
    LIMIT 0, 500');
    while ($liste = mysql_fetch_array($retour)) // On fait une boucle pour lister les tutoriels
    {
     
    $requete4 = mysql_query('SELECT * FROM lire');
    $machin = mysql_fetch_assoc($requete4);
     
    echo'
    <tr>
    <td style="width:1%;text-align:center;">20</td>
    <td><a href="lire.php?id='.$cat['cat_id'].'&lire='.$machin['id'].'">'.$liste['liste_nom'].'</a></td>
    </tr>';
    }
    ?>
    Pour la page lire.php celle qui affiche les tutoriels (suivant le clic sur le tutoriel de la page liste.php) de la table lire j'ai fais sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    //Connexion MySQL
     
    $requete4 = mysql_query('SELECT * FROM lire');
    $tuto = mysql_fetch_assoc($requete4);
     
    echo'
    <h1 align="center">'.$tuto['titre'].'</h1>
    <br /><br />
    <p style="border:1px dotted orange;">
    '.$tuto['contenu'].'</p>';
    ?>
    //+====================================================+
    // A partir de maintenant, je vais expliquer ce qui marche est, ce qui marche pas. +
    //+====================================================+

    Ce qui marche :

    Les catégorie marche, sa m'affiche les catégorie sur la page d'index, comme sa :

    >liste.php?cat_id=1 //Catégorie 1
    >liste.php?cat_id=2 //Catégorie 2
    >liste.php?cat_id=3 //Catégorie 3
    >liste.php?cat_id=etc... //Catégorie etc...

    Ensuite sur la page liste.php :

    Sa m'affiche les tutoriels correspondant à la catégorie, par exemple pour créer un nouveaux titre sur la page liste.php, je fais comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO `liste` ( `id` , `liste_nom` )
    VALUES (
    '1', 'titre de mon tutoriel'
    );
    Le 1 correspond à la catégorie 1 donc, il est envoyer dans la premiére catégorie est non pas dans les autres donc sa ça marche.

    Ce qui ne marche pas:

    Ce qui ne marche pas par contre c'est d'afficher le contenu du tutoriel en fonction du clic sur le titre. Si le membre clic sur "Créer un espace membre", est bien sur la page lire.php sa affiche le contenu du titre "Créer un espace membre" correspondant à la table lire. Je vous rappelle que le titre est le contenu du tutoriel sont dans la table lire.

    Donc ma question est :

    Comment faire pour que quand je clic sur un titre de la page liste.php sa m'emmène vers le contenu du titre.

    Remerciements :

    Je tient d'avance à vous remercier d'avance pour l'aide que vous pourrez m'apportez pour finir ce script, qui à était débuter au début des vacances. Cela fait 1 semaine que je suis donc dessus. Si vous pourrez m'aider où corriger mes fautes où éventuellement me fournir des explications que je puisse reprendre ce script depuis le début. (Je suis peut être mal partit sur ce script).

    Vous pouvez voir aussi à quoi ressemble mon script : Mon script de catégorie
    Encore,merci.

  2. #2
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Bonjour,

    J'ai du mal a cerner vraiment comment est construit ton programme.
    J'aurais certainement conçu cela différemment.

    Tu n'as besoin que de deux tables :

    categorie(idCat, libelleCat)
    article(idArticle, titreArticle, textArticle, idCat)

    De ce fait tu possède un véritable identifiant pour chaque article.

    Pour listes les catégories : un simple SELECT (t'affiche un lien avec le lib de la catégorie avec l'identifiant de la catégorie dans le lien)

    Pour lister les articles de la catégorie : un SELECT + WHERE sur l'id que le lien de la catégorie a passé (tu affiche un lien avec le titre de l'article avec l'identifiant de l'article dans le lien).

    Pour afficher l'article : un SELECT + WHERE sur l'id d'article.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Merci, beaucoup de m'avoir répondus.
    Je vais essayer sa tout de suite.
    Merci.

  4. #4
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Une bonne conception est primordiale dans le développement d'un application, aussi il est conseillé de modéliser et suivre des méthodes de modélisation qui ont fait leurs preuves.

    c'est le cas de merise. Il deviens par la suite facile de simplifier son code grâce à la base de donnée.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Bonsoir, j'ai un petit problème sur la page de listage.
    Il m'est impossible de mettre + de 1 entrée dans la catégorie 1.
    Quand, je rentre via phpMyAdmin, l'id, le titre, le contenu, est la catégorie dans laquelle je veux qu'elle soit envoyer, j'ai choisis la catégorie 1.

    Le problème c'est que sa ne met pas + de 1 entrée pourtant le premier que j'ai créer j'ai mis :

    id = 1
    titreArticle = un titre quoi...
    textArticle = le contenu...
    idCat = (1) la catégorie que je veux qu'elle soit envoyés.


    id = 2
    titreArticle = un titre quoi...
    textArticle = le contenu...
    idCat = (1) la catégorie que je veux qu'elle soit envoyés.



    Le problème c'est que la deuxième entrée, se crée dans la catégorie 2

    C'est où le problème ?

    liste.php

    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
     
    <?php
    $id = $_GET['idCat'];
     
    $retour = mysql_query('SELECT * FROM article WHERE idArticle = "'.$id.'"
    LIMIT 0, 500');
    while ($liste = mysql_fetch_array($retour)) // On fait une boucle pour lister les news
    {
    ?>
    <tr>
    <td><a href="lire.php?titreArticle=<?php echo $liste['titreArticle'];?>&idArticle=<?php echo $liste['idArticle'];?>"><?php echo $liste['titreArticle'];?></a></td>
    </tr>
    <?php
    }
    ?>
    Merci, d'avance.

  6. #6
    Membre Expert

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Par défaut
    Et avec cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $retour = mysql_query('SELECT * FROM article WHERE idCat = "'.$id.'"
    LIMIT 0, 500');

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 106
    Par défaut
    Merci, sa marche du tonnerre.
    Je tiens encore à vous remercier, sans vous, j'y serez encore.
    Merci.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 24/09/2013, 11h06
  2. Système de catégorie / tags
    Par Delprog dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 06/05/2010, 16h19
  3. [Tableaux] Système de catégorie
    Par Moxostoma dans le forum Langage
    Réponses: 6
    Dernier message: 03/09/2007, 19h55
  4. [Système] Affichage du nom de la catégorie
    Par maximew dans le forum Langage
    Réponses: 1
    Dernier message: 12/02/2007, 12h02
  5. IA avec le système de note
    Par scorpiwolf dans le forum C
    Réponses: 4
    Dernier message: 06/05/2002, 12h13

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