Simple Question Php

Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 5 sept. 2008 à 14:24
CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 - 5 sept. 2008 à 15:03
Bonjour,
j'ai crée des listes deroulantes en Ajax (j'ai rien crée j'ai juste copié) et je souhaiterai savoir un petit truc sur un INSERT.
je voudrai remplir ma bdd de cette maniere :
categorie
sous_categorie
sous_sous_categorie

le Tout etant lié.c'est a dire que la categorie maison aura comme sous categorie : toiture et porte par exemple et chacune aura respectivement comme sous_sous_categorie charpente et tuiles puis pour porte : serrure et clé.

Bref je ne sais pas si vous voyez l'arborescence mais je souhaiterai savoir comment il est possible d'inserer ces données dans ma Bdd pour garder la relation de famille, sous famille, sous_sous_famille dans mes listes deroulante.

Merci
A voir également:

4 réponses

CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
5 sept. 2008 à 14:27
Hum, deux petites questions avant de pouvoir t'aider:

Quel est la structure de ta base de données ?

Et tu veux remplir ta liste avec ce que tu as dans ta base ? Ou mettre ta liste dans une base ?
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
5 sept. 2008 à 14:30
Bien alors :
La structure de ma base vous aiderai, c'est pas faux :
Bdd : devis_table
3 champs : categorie,sous_categorie,sous_sous_categorie et je veux remplir mes 3 listes avec ce que j'ai dans la base tout en gardant une relation de famille entre les categories sous_categories.
j'ai déja fait ca aupravant, des formulaires rentraient dans la bdd, et je remplissait mes listes avec leur contenu.

Merci
-1
CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
5 sept. 2008 à 14:41
J'ai encore un doute.
Tu as combien de liste ?

Si tu n'en à qu'une, je peux déjà te proposer cette solution (j'avais ce script sous la main)

echo "<select name='liste' id='liste'>
					<option value=\"-1\">Valeur par défaut</option>";
					$liste_categorie = mysql_query("SELECT DISTINCT categorie FROM devis_table");
					while ($res_liste_categorie = mysql_fetch_row($liste_categorie))
					{
						$categorie = $res_liste_categorie[0];
							echo "<optgroup label=\"$categorie\">";
							$liste_sous_categorie = mysql_query("SELECT DISTINCT sous_categorie FROM devis_table WHERE categorie = '$categorie'");
							while ($res_liste_sous_categorie = mysql_fetch_row($liste_sous_categorie))
							{
								$sous_categorie = $res_liste_sous_categorie[0];
								$discipline2 = addslashes($res_liste_sous_categorie[0]); //variable permettant l'echapement de ' pour les requètes MySQL
								echo "<optgroup label=\"|-- $sous_categorie\">";
									$liste_sous_sous_categorie = mysql_query("SELECT DISTINCT sous_sous_categorie FROM devis_table WHERE sous_categorie = '$sous_categorie2' AND categorie = '$categorie'");
									while ($res_liste_sous_sous_categorie = mysql_fetch_row($liste_sous_sous_categorie))
									{
										$sous_sous_categorie = $res_liste_sous_sous_categorie[0];
										$value = ???? //à toi de voir ce que tu veux mettre
										echo "<option value=\"$value\">$sous_sous_categorie</option>";
									}
								echo "</optgroup>";
							}
							echo "</optgroup>";
					}
echo "</select>
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
5 sept. 2008 à 14:56
Merci mais je pense que je me suis mal exprimé, pardon.
je veux simplement faire ceci :
INSERT INTO `devis` ( `cat` , `sous_cat` , `sous_sous_cat` ) 
VALUES (
'maison - habitat', 'escalier', 'reparation'
);
INSERT INTO `devis` ( `cat` , `sous_cat` , `sous_sous_cat` ) 
VALUES (
'maison - habitat', 'escalier', 'entretien'
);
INSERT INTO `devis` ( `cat` , `sous_cat` , `sous_sous_cat` ) 
VALUES (
'maison - habitat', 'escalier', 'peinture'
);
INSERT INTO `devis` ( `cat` , `sous_cat` , `sous_sous_cat` ) 
VALUES (
'maison - habitat', 'escalier', 'truc'
);


je voudrai juste savoir sil y a un moyen plus rapide que de me taper 15 insert d'affilé et garder aussi l'arborescence et les relations de famille .
Merci
-1
CrowCrow Messages postés 553 Date d'inscription mercredi 6 août 2008 Statut Membre Dernière intervention 6 août 2010 42
5 sept. 2008 à 15:03
Ou c'est peut-être moi qui est mal compris :D

Sinon, pour la rapidité, je peux pas t'aider.
Mais pour l'aborescence et les relation de famille, je te conseille t'utiliser une 4 colonne 'id' en auto-incremente et d'ordonner comme tu le souhaite avec un ou plusieurs ORDER BY...
-1