Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/07/2011, 18h28   #1
Futur Membre du Club
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 168
Points : 18
Points : 18
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 :
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
BXDSPORT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 10h09   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
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 :
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
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 10h13   #3
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

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

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
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 :
$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 :
$req = $db->query("SELECT * FROM menug WHERE Id_parent = $id_parent");
Je ne vois pas de champs "fichier" dans ta table.

gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2011, 19h31   #4
Futur Membre du Club
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 168
Points : 18
Points : 18
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 :
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
BXDSPORT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 04h45   #5
Futur Membre du Club
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 168
Points : 18
Points : 18
Fichier c'est URL OUps erreur
BXDSPORT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2011, 17h11   #6
Futur Membre du Club
 
Homme
Consultant informatique
Inscription : mars 2002
Messages : 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2002
Messages : 168
Points : 18
Points : 18
Bonjour

Personne pour m'orienter ?

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

Merci
BXDSPORT est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h17.


 
 
 
 
Partenaires

Hébergement Web