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 :

Php, base de données et liste


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Par défaut Php, base de données et liste
    Bonjour

    J'ai une base de données constituée ainsi
    ID
    Titre
    URL
    Id_parent
    id_enfant

    Je me connecte en PHP. Je veux changer de liste lorsque je change ID_PARENT mais je les ai sur la même ligne en ce moment.
    Voici mon code
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     
    <HEAD>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="Menu.css" rel="stylesheet" type="text/css" />
    </HEAD>
    <BODY>
    <div class="menug">
     
    <ul>
    <?php
    //Lecture d'une base de données pour créer un menu
     
       try {
    	   $options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
    	   $db= new PDO('mysql:host=localhost;dbname=tests','root','',$options);
     // echo '<p>connexion à la base de données</p>';
     
       }
       catch (Exeption $e) {
        die('erreur : '.$e->getMessage());   
    	}
     
    	$req = $db->query('SELECT * FROM menug');
     
    	while($data = $req->fetch()) {
    	$parent = $data['ID_parent'];
    	$enfant = $data['id_enfants'];
    	if($enfant = 0) {
    	 		echo '<li><a href="'.$data['Fichier'].'">'.$data['Titre'].'</a></li>';
    		}else {
    	 		echo '<li><li><a href="'.$data['Fichier'].'">'.$data['Titre'].'</a></li></li>';
    		}
    	}
     
    ?></ul>
    </div>
    </BODY>
    </HTML>
    Ceci afin de réaliser un menu déroulant.

    Merci de vos pistes

    Cordialement

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    je ne suis pas sur d'avoir saisie ce que tu veux mais j'ai peut être une solution pour toi.

    fait un print_r($req), normalement ceci va te permettre de voir ce que contient cette variable. Normalement cela doit être un tableau à 2 dimensions.

    Avec ceci, tu pourrais ainsi savoir où se positionne le premier identifiant, le second, etc... Si tu fais une liste déroulante avec ca et que lorsque tu changes la liste, tu changes les valeurs de tes inputs (en javascript) cela ferait ce que tu veux enfin je crois.

    Ca donnerait ca en gros:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <select id="idSelect" onchange="taFonctionJavascript">
         <option value="1">identifiant1</option>
         <option value="2">identifiant2</option>
          .
          .
    </select>
    .
    .
    .
    <input id="ipt_id_enfant" value="<?php echo $req[1].id_enfants; ?>"/>
    <input id="ipt_Fichier" value="<?php echo $req[1].Fichier; ?>"/>
    <input id="ipt_Titre" value="<?php echo $req[1].Titre; ?>"/>
    Ensuite lorsque tu changes ton select, normalement avec la bonne fonction javascript cela doit te changer la valeur de tes inputs.

    J'espère que j'ai été assez clair

    Ps:le code donné n'est qu'un exemple et ne marche pas

  3. #3
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2009
    Messages : 236
    Par défaut
    Citation Envoyé par BXDSPORT Voir le message
    J'ai une base de données constituée ainsi
    ID
    Titre
    URL
    Id_parent
    id_enfant
    Tu as une table constituée ainsi, une base est une ensemble de tables et une table est un ensemble de champs.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $db->query('SELECT * FROM menug');
    Il te faut faire une restriction si tu ne veut récupérer que ceux pour l'id_parent choisis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req = $db->query("SELECT * FROM menug WHERE Id_parent = $id_parent");
    Je ne vois pas de champs "fichier" dans ta table.


  4. #4
    Membre éclairé Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Par défaut
    ID est un champ automatique au niveau de remplissage qui sert de clé primaire. Elle n'est pas affiché.

    Concernant ma demande, je désire réaliser un menu avec ma base de données.
    Donc ID_enfants doit être rattaché à ID_PARENTS dans le menu. Les ID_enfants sont les sous menus des id_parents.

    Le menu est réalisé grâce à un code CSS et basé sur des listes générées lors de la lecture en php.
    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ul>
     <li> ACCUEIL</li>
     <u> Produits
        <li>sous menu un</li>
      <li>sous menu deux</li>
     </u>
    </ul>
    Merci

  5. #5
    Membre éclairé Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Par défaut
    Fichier c'est URL OUps erreur

  6. #6
    Membre éclairé Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Par défaut
    Bonjour

    Personne pour m'orienter ?

    Un petit coup de pouce...
    Comment tester l'id_parents et tester 'id_ENFANTS.

    Merci

Discussions similaires

  1. [DOM] [JAVA ou PHP] Base de donnée XML
    Par lulu_31 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 06/10/2008, 16h17
  2. formulaire / php / base de données et classes
    Par No3l_tek dans le forum Langage
    Réponses: 1
    Dernier message: 30/04/2008, 09h52
  3. Réponses: 5
    Dernier message: 06/12/2007, 22h16
  4. Réponses: 1
    Dernier message: 15/09/2007, 10h09
  5. formulaire / php / base de données
    Par amandine_drooplette dans le forum Langage
    Réponses: 6
    Dernier message: 07/06/2007, 13h14

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