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 :

Requête pour afficher menu ?


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut Requête pour afficher menu ?
    Bonjour à tous,

    je suis en train de developper une boutique en PHP/mySQL et j'ai dû mal à faire la requête pour afficher mon menu coorectement.

    Voici un apercu de mes 2 tables:

    table groupe_article

    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
     
    Champ	Type	Null	Défaut
    numgroupe	int(11)	Oui	NULL
    nomgroupe	varchar(40)	Oui	NULL
     
    Contenu de la table groupe_article
     
    numgroupe - nomgroupe
     
    1	Portable
    2	Ordinateur
    3	Disque Dur Externe
    4	Boitier PC
    5	Boitier Externe
    6	Alimentation
    7	Disque Dur
    8	Mémoire
    9	Carte Mère
    10	Processeur
    11	Carte Graphique
    12	Lecteur
    13	Carte PCI
    14	Moniteur
    15	Réseau
    16	Périphérique
    17	Logiciel
    18	Encaissement

    table s_groupe_article

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Structure de la table s_groupe_article
     
    Champ	Type	Null	Défaut
    numssgroupe	int(11)	Oui	NULL
    nomssgroupe	varchar(40)	Oui	NULL
    numgroupe	int(11)	Oui	NULL
     
    Contenu de la table s_groupe_article
     
    numssgroupe - nomssgroupe - numgroupe
     
    1	PC Portable	1
    2	Accessoire portable	1
    3	Bureautique	2
    4	Familliale	2
    5	Gamer	2
    6	Mini PC	2
    7	Disque Dur Externe 3.5	3
    8	Disque Dur Externe 2.5	3
    9	Disque Dur multimédia	3
    10	NAS	3
    11	Boitier PC	4
    12	Boitier Externe	5
    13	Alimentation	6
    14	Disque dur SATA	7
    15	Disque dur IDE	7
    16	Disque dur 2.5\"	7
    17	DDR3	8
    18	DDR2	8
    19	DDR	8
    20	SODIMM	8
    21	Intel	9
    22	AMD	9
    23	Intel	10
    24	AMD	10
    25	Nvidia	11
    26	Ati	11
    27	Graveur DVD	12
    28	Graveur Externe	12
    29	Lecteur de carte	12
    30	Carte son	13
    31	Tuner TV	13
    32	Contrôleur	13
    33	Ecran PC	14
    34	TV	14
    35	Wifi	15
    36	Camera IP	15
    37	Modem / Routeur / Switch	15
    38	CPL	15
    39	Souris / Clavier	16
    40	Enceinte	16
    41	Imprimante	16
    42	Clé USB	16
    43	Système	17
    44	Bureautique	17
    45	Gestion	17
    46	Encaissement	17
    47	Ecran	18
    48	Imprimante	18
    49	Solution complète	18

    Je voudrai que chaque "nomssgroupe" aille dans le "nomgroupe" adequat...
    J'ai fait pas mal de test, mais aucun ne m'affiche ce que je veux vraiment.
    Merci pour votre aide

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Quelques conseils.

    1/ Donnes des noms de champs dans tes tables qui portent un peu moins à confusion. numgroupe, nomgroupe, numssgroupe, nomssgroupe, excuse moi mais ce n'est vraiment pas explicite.

    2/ Essaye d'être plus clair dans ta question.

    3/ Il faudra ensuite travailler sur la structure des tables.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    1/ mes noms sont assez explicites

    2/ Je voudrai faire en sorte que chaque sous-groupe s'affiche dans le groupe correspondant.

    Exemple :

    Portable
    PC Portable
    Accessoire portable

    Ordinateur
    Bureautique
    Familliale
    Gamer
    Mini PC

    3/ C'est une structure de table que j'ai pris dans un livre "PHP4 & MySQL"

    merci

  4. #4
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par quaresma Voir le message
    1/ mes noms sont assez explicites
    Si tu le dis pas pour moi en tous cas.
    Citation Envoyé par quaresma Voir le message
    3/ C'est une structure de table que j'ai pris dans un livre "PHP4 & MySQL"
    Et dans le livre ils n'expliquent pas comment faire?
    Je trouve cette structure de table très indigeste.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Et dans le livre ils n'expliquent pas comment faire?
    Je trouve cette structure de table très indigeste.
    Non, ils ne mettent pas la requête qui permet d'afficher le menu convenablement.
    Passons sur le nom des attributs de la table (it's my choice)

    ps: vomis pas (humour)

  6. #6
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Il faut que tu fasses une jointure entre les deux tables, voir ceci pour mieux comprendre.
    Si tu as un pb dépose ta requête SQL et j'essayerais de voir ce qui se passe.


  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Je te remercie Riete.
    Je test et te tiens au courant
    FD

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    hey!

    j'ai testé, voici ma requête :

    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
    require("identification/connexion_sql.php");
    $db = mysql_connect($host_db,$login_db,$password_db) or die ("impossible de se connecter a la base".mysql_error());
    mysql_select_db($name_db,$db) or die ("base inexistante".mysql_error());
    $req = mysql_query("SELECT * FROM groupe_article, s_groupe_article WHERE s_groupe_article.numgroupe = groupe_article.numgroupe ORDER BY groupe_article.numgroupe ASC") or die ("impossible d'effectuer la requête");
    while($shopone = mysql_fetch_array($req)){
    $nomdugroupe = stripslashes($shopone['nomgroupe']);
    $nomsousgroupe = stripslashes($shopone['nomssgroupe']);
     
    print'<table width="100%" border="0" cellspacing="1" cellpadding="1">
          <tr>
            <th width="14%" scope="col">&nbsp;</th>
            <th width="86%" scope="col"><a href="formation.php"><strong>
            <div align="left">'.$nomdugroupe.'</div></strong></a></th>
          </tr>
          <tr>
            <th width="14%" scope="col">&nbsp;</th>
            <th width="86%" scope="col"><div align="left"><a href="maintenance.php" class="textessmenuleft">'.$nomsousgroupe.'</a></div></th>
          </tr>
        </table>';}
    mysql_close();
    ?>
    Mais, comme vous pourrez le voir ci-desous, il y a un problème d'affichage que vous pourrez largement constater par vous même

    Portable
    PC Portable
    Portable
    Accessoire portable
    Ordinateur
    Familliale
    Ordinateur
    Gamer
    Ordinateur
    Bureautique
    Ordinateur
    Mini PC
    Disque Dur Externe
    Disque Dur multim�dia
    Disque Dur Externe
    Disque Dur Externe 3.5
    Disque Dur Externe
    NAS
    Disque Dur Externe
    Disque Dur Externe 2.5 , etc...


    Merci pour votre aide

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    personne pour m'aider svp?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    Une petite aide SVP, je pense que ce n'est pas grand chose que je dois modifier...MERKKKI

  11. #11
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Il s'agit d'un problème d'encodage de caractère.
    Vérifie ta page HTML dans l'entête tu dois avoir dans une balise META ceci : charset=ISO-8859-1 si c'est en Français bien sur ;-)

    Pour la BD, tu dois aussi définir l'encodage de tes tables.

    Je ne comprends pas, ce n'est pas expliqué dans ton bouquin ? c'est quoi au juste ce bouquin?

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    546
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 546
    Par défaut
    C'est bon j'ai reussi, c'etait un peu compliqué mais je m'en suis sorti avec un peu d'aide!

    Mon bouquin c'est PHP4&MySQL (Micro application)

    Bonne soirée

Discussions similaires

  1. Requête pour afficher une période
    Par NedaRyme dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/03/2008, 11h26
  2. [MySQL] rejoindre deux requêtes pour afficher des données
    Par schats dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 26/12/2007, 14h19
  3. [SQL] Requête pour afficher des valeurs uniques
    Par gcvoiron dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/11/2007, 17h38
  4. Lenteur de requête pour afficher une image
    Par bobobobo01 dans le forum WinDev
    Réponses: 2
    Dernier message: 20/07/2007, 15h22
  5. Réponses: 2
    Dernier message: 14/05/2007, 00h22

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