Rechercher : dans
Par :

[html/php] [liste deroulante a plusieurs niveau]

Dernière réponse le 30 jan 2009 à 10:32:43 antic80, le 17 mai 2005 à 16:56:59 
 Signaler ce message aux modérateurs

Bonjour a ceux qui liront ce message

je cherche a faire une liste déroulante a plusieurs niveau c a dire

niveau1
...1-1
...1-2
niveau2
...2-1
...2-2

etc..

merci pour votre aide

Meilleures réponses pour « [html/php] [liste deroulante a plusieurs niveau] » dans :
Listes déroulantes simples avec Excel VoirDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION...

1

dedale82, le 17 mai 2005 à 17:04:24

Salut,
ceci peut t'interesser :
http://www.framasoft.net/article3589.html

A plus.

Répondre à dedale82

2

antic80, le 17 mai 2005 à 17:08:51

Ca c pour les menus mais moi je veux pour les listes déroulantes de sélection

merci quand meme

Répondre à antic80

3

antic80, le 18 mai 2005 à 08:58:13

Up

Répondre à antic80

4

sebsauvage, le 18 mai 2005 à 09:04:13

Faire des menus avec quoi ?

html/javascript/css ? MFC ? Qt ? Gtk ? Delphi ?

Répondre à sebsauvage

5

antic80, le 18 mai 2005 à 09:07:56

Je ne cherche pas a faire des menus mais une liste déroulante en php

j'ai deja fais ma liste que je rempli avec une requete

dans la liste j'affiche tous les articles que j'ai mais j'aimerai afficher dans la liste le nom de l'article et sa ou ses pages correspondantes de la facon suivante

article1
...page 1
...page 2
article2
...page 1
article3
...page 1

etc...

donc j'aimerai savoir comment on fais une liste déroulante avec plusieurs nivo

merci

Répondre à antic80

6

Erdnax, le 18 mai 2005 à 09:13:10

Salut

Euh, si tu met des espaces avant tes liens de deuxième niveau, et que les liens pointent juste, ça devrait aller non !?!?

@+

P.S. Si tu as un bout de code déjà fait, n'hésite pas à le poster. P'tit Suisse

Répondre à Erdnax

7

antic80, le 18 mai 2005 à 09:27:53

Le probleme c'est que j'arrive a afficher la liste des articles mais je n'arrive pas a afficher les pages en dessous

Répondre à antic80

8

Erdnax, le 18 mai 2005 à 10:22:40

Ah bon ? Donc je suppose que tu ne les tappes pas, mais que cela est automatiquement créer avec du php ou autre ?

Car si tu les tappes à la main, je vois pas ou est le problème. Par contre, si tu fait recours à php, met nous ton code pour voir de quoi il retourne.

@+
P'tit Suisse

Répondre à Erdnax

9

antic80, le 18 mai 2005 à 10:27:31

Voila mon code

en fait je veux faire ca au niveau de la liste2

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<title>Document sans titre</title>

</head>

<body>
<table border="1" bgcolor="" width="100%">
<tr>
<td width="">
<FORM ACTION="encyc.php" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
<SELECT NAME="Categorie" >
<OPTION value="1">Dossiers Spéciaux
<OPTION value="2">Courrier des lecteurs
<OPTION value="3">Fiches Techniques
</SELECT>
<INPUT TYPE="SUBMIT" VALUE="Envoyez">

</DIV>


</form>



<?php
// connexion à la base
$Host = "localhost";
$User = "root";
$Password = "antic";
$Database = "micro";

$idConnect = mysql_connect( $Host, $User, $Password)
or die( "Connexion impossible.");
$db = mysql_select_db( $Database, $idConnect)
or die( "Accès base impossible.");

if(isset($_POST['Categorie'])) $Categorie=$_POST['Categorie'];
else $Categorie="";

// Requête SQL
$rqSql = "SELECT Id,Titre,Page,Logiciel FROM article where CodeCat=$Categorie";
// Exécution de la requête
$result = mysql_query( $rqSql, $idConnect)
or die( "Pour obtenir la liste des articles veuillez sélectionner une catégorie");
$liste2="<select name='Article' >";


$liste2 .="<option value=0> choisissez un article</option>";
while ( $row = mysql_fetch_array( $result)) {
// $row est un tableau associatif
// les éléments sont «indicés» par les noms
// des colonnes. Je préfère cette technique à celle
// des indices numériques..on ajoute une colonne..
$Id = $row["Id"];
$Titre = $row["Titre"];
$Page = $row["Page"];
$Logiciel = $row["Logiciel"];

$liste2 .="<option value='$Id'>$Titre </option>";
}
$liste2 .="</select>";
print '<form method="POST" action="encyc.php">';
print $liste2;
print '<INPUT TYPE="hidden" NAME="Categorie" VALUE="'.$Categorie.'">';
print '<INPUT TYPE="SUBMIT" NAME="envoie" VALUE="Affichez">';
print '</form>';



mysql_close( $idConnect);
?>

</td>
</tr>
</table>
<table>
<tr>
<td>
<?php
if(isset($_POST['envoie']) && $_POST['Article']!="" )
{
echo "<IMG SRC=\"".$Page.".jpg\">";

}
else echo "pas d'image choisie...";
?>

</td>
</tr>
</table>
</body>
</html>

Répondre à antic80

10

Erdnax, le 18 mai 2005 à 10:48:37

Euh, je ne comprends pas ce que sont tes "pages". Comment cela se fait-il que tu appel la variable Page dans ta balise d'image ?

Et juste pour info, les doubles quotes n'ont pas besoin d'être fermées pour inclure une variable. C'est avec les simples que cela est obligatoire. Tu peux donc écrire ta ligne d'image comme ça :

echo '<IMG SRC="'$Page'.jpg">'; 
P'tit Suisse

Répondre à Erdnax

12

kij_82, le 18 mai 2005 à 11:13:17

Les deux syntaxes sont bonnes, chacun ses habitudes... ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

13

Erdnax, le 18 mai 2005 à 11:15:30

C'est vrai, mais en fait je pensais mettre autre chose, et je me suis rendu compte que c'est moi qui faisait une erreur. Donc, euh, ben j'ai mis ça, mais c'est vrai que sa méthode est tout à fait juste aussi.

C'est de ma faute pardon ;) P'tit Suisse

Répondre à Erdnax

19

kij_82, le 18 mai 2005 à 15:56:17

Faute

Je n'irais pas non plu jusque la.. ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

11

antic80, le 18 mai 2005 à 10:57:24

Je vais d'expliquer ma page

ma page s'appelle encyc.php

quand j'ouvre la page une liste apparait avec un bouton submit

je selectionne une valeur je clic sur le bouton et ma page encyc.php ce recharge et m'affiche une 2 ème liste avec un autre bouton

dans cette liste s'affiche les articles

je sélectionne un article et quand je clic sur le bouton la page de l'article s'affiche en bas

ds ma base de données j'ai inserer les données de la maniere suivante

article 1 page1
article 1 page2
article 2 page1
etc...

ce qui fais que quand j'affiche ma liste d'articles j'obtient

article1
article1
article2
article2

alors que moi je voudrais

article1
...page 1
...page 2
article2
...page 1

etc....

voila dis moi s'y tu veux savoir d'autres choses

Répondre à antic80

14

antic80, le 18 mai 2005 à 11:21:27

J'espere que ca suffit

Répondre à antic80

15

Erdnax, le 18 mai 2005 à 11:42:32

Et si tu met dans le nom de tes pages, 1a, 1b, etc, tu n'aura plus besoin de ton arborescence non ? et cela simplifiera grandement tout ça...
P'tit Suisse

Répondre à Erdnax

16

antic80, le 18 mai 2005 à 11:47:56

Oui mais j'aurai tjs autant de fois le nom de l'article qu'il y a de page

Répondre à antic80

17

antic80, le 18 mai 2005 à 15:52:27

Je reviens sur le probleme d'affichage des images

en faite quelque soit l'article que je selectionne il me renvoie la derniere page de la categorie

si je selectionne dossiers spéciaux pour n'importe quels articles il m'affiche la derniere page

pourquoi

Répondre à antic80

18

Erdnax, le 18 mai 2005 à 15:55:59

Je pense que c'est à cause de cette partie du code :

<?php
if(isset($_POST['envoie']) && $_POST['Article']!="" )
{
echo "<IMG SRC=\"".$Page.".jpg\">";

}
else echo "pas d'image choisie...";
?>

En effet, nulle part tu indique à quel enregistrement $Page fait allusion, il doit donc surement prendre en compte le dernier.

@+

P'tit Suisse

Répondre à Erdnax

20

kij_82, le 18 mai 2005 à 15:58:01

Non car en fait $Page est une variable normale, pas un tableau.
Du moins c'est ce qu'il me semblais.. ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

22

kij_82, le 18 mai 2005 à 15:59:25

Zh oui d'accord.. j'avais pas vu qu'il était dans le while ! Du coup oui c'est pour cela qu'il prend la derniere valeur à chaque fois.
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

24

kij_82, le 18 mai 2005 à 16:05:29

Il faut rajouter un truc comme ca alors :

if(isset($_POST['Categorie'])) $Categorie=$_POST['Categorie']; 
else $Categorie=""; 

if(isset($_POST['Article']))
  $tmp = $_POST['Article'];
else
  $tmp = "";

$image = "";

...



$liste2 .="<option value=0> choisissez un article</option>"; 
while ( $row = mysql_fetch_array( $result)) { 
// $row est un tableau associatif 
// les éléments sont «indicés» par les noms 
// des colonnes. Je préfère cette technique à celle 
// des indices numériques..on ajoute une colonne.. 
$Id = $row["Id"]; 

$Titre = $row["Titre"]; 
$Page = $row["Page"]; 

if($Id = $tmp)
   $image = $Page;

$Logiciel = $row["Logiciel"]; 

$liste2 .="<option value='$Id'>$Titre </option>"; 
} 

...

if( $image != "" ) 
{ 
echo "<IMG SRC=\"".$image.".jpg\">"; 

} 
else echo "pas d'image choisie..."; 
?> 


~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

21

antic80, le 18 mai 2005 à 15:58:32

Et je fais comment dans ce cas

Répondre à antic80

23

Erdnax, le 18 mai 2005 à 16:04:45

Avec un bête script de connexion mysql_connect, et en faisant un select Page from article where id=$id, donc un nouveau script de connexion.
P'tit Suisse

Répondre à Erdnax

25

antic80, le 18 mai 2005 à 16:11:42

Je le mais ou ce morceau de code et surtout après ca je met koi

$rq= "SELECT Page FROM article where id=$ID";
$result = mysql_query( $rq, $idConnect)

merci de me dépanner c vachement important

Répondre à antic80

26

kij_82, le 18 mai 2005 à 16:14:30

Et ce que je t'ai mis ta essayé ou pas ? Ca devrait etre bon je pense. ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

27

antic80, le 18 mai 2005 à 16:24:34

J'ai repris ton code et je les replacer ou il fallait mais la il ne m'affiche plus aucune image

Répondre à antic80

28

kij_82, le 18 mai 2005 à 16:28:51

Alors dans ce cas fait voir ca et dit moi ce que cela met :

if( $image != "" ) 
{ 
echo $image."<BR>"; 
}
else
....
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

29

antic80, le 18 mai 2005 à 16:31:46

Rien

au cas ou je te renvoie le code entier de la page

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" media="screen" href="style.css">
<title>Document sans titre</title>

</head>

<body>
<table border="1" bgcolor="" width="100%">
<tr>
<td class="tableaugauche" >
<font face="@Arial Unicode MS" size="6"><b><div align="center">Mon encyclopédie Informatique</div></b></font>
</td>
</tr>
</table>



<table border="1" bgcolor="" width="100%">
<tr>
<td class="tableaugauche" width="">
<FORM ACTION="encyc.php" METHOD="POST" ENCTYPE="application/x-www-form-urlencoded">
<SELECT NAME="Categorie" >
<OPTION value="1">Dossiers Spéciaux
<OPTION value="2">Courrier des lecteurs
<OPTION value="3">Fiches Techniques
</SELECT>
<INPUT TYPE="SUBMIT" VALUE="Envoyez">

</DIV>


</form>



<?php
// connexion à la base
$Host = "localhost";
$User = "root";
$Password = "antic";
$Database = "micro";

$idConnect = mysql_connect( $Host, $User, $Password)
or die( "Connexion impossible.");
$db = mysql_select_db( $Database, $idConnect)
or die( "Accès base impossible.");

if(isset($_POST['Categorie'])) $Categorie=$_POST['Categorie'];
else $Categorie="";

if(isset($_POST['Article']))
$tmp = $_POST['Article'];
else
$tmp = "";
$image = "";

// Requête SQL
$rqSql = "SELECT Id,Titre,Page,Logiciel FROM article where CodeCat=$Categorie";
// Exécution de la requête
$result = mysql_query( $rqSql, $idConnect)
or die( "Pour obtenir la liste des articles veuillez sélectionner une catégorie");
$liste2="<select name='Article' >";


$liste2 .="<option value=0> choisissez un article</option>";
while ( $row = mysql_fetch_array( $result)) {
// $row est un tableau associatif
// les éléments sont «indicés» par les noms
// des colonnes. Je préfère cette technique à celle
// des indices numériques..on ajoute une colonne..
$Id = $row["Id"];

$Titre = $row["Titre"];
$Page = $row["Page"];

if($Id = $tmp)
$image = $Page;

$Logiciel = $row["Logiciel"];

$liste2 .="<option value='$Id'>$Titre </option>";
}
$liste2 .="</select>";
print '<form method="POST" action="encyc.php">';
print $liste2;
print '<INPUT TYPE="hidden" NAME="Categorie" VALUE="'.$Categorie.'">';
print '<INPUT TYPE="SUBMIT" NAME="envoie" VALUE="Affichez">';
print '</form>';



mysql_close( $idConnect);
?>

</td>
</tr>
</table>
<table border="1" width="100%">
<tr>
<td class="tableaugauche">
<?php
if( $image != "" )
{
echo $image."<BR>";
}
else



echo "pas d'image choisie...";
?>


</td>
</tr>
</table>
</body>
</html>

Répondre à antic80

30

kij_82, le 18 mai 2005 à 16:39:42

Remplace voir

if($Id = $tmp) 

par
if($Id == $tmp) 
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

31

antic80, le 18 mai 2005 à 16:44:03

Nikel chrome

j'ai du par la suite remettre ce bout de code

if( $image != "" )
{
echo "<IMG SRC=\"".$image.".jpg\">";

}
else echo "pas d'image choisie...";
?>

a la fin et ca marche

peut tu m'expliquer la différence entre if($Id = $tmp) et if($Id == $tmp)

Répondre à antic80

32

antic80, le 18 mai 2005 à 16:46:56

Et j'aurai une derniere question

comment je pourrais faire pour a l'aide de 2 boutons acceder soit a l'image précédente ou l'image suivant

Répondre à antic80

33

kij_82, le 18 mai 2005 à 17:05:41

En gros tu veux avancé dans les images de la liste 2 apres selection de la liste 1 c'est ca ? ~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82

34

kij_82, le 18 mai 2005 à 17:08:13

Si oui, alors tu as plein d'astuce et de facon de le faire. Le meiux est de faire un truc en javascript pour éviter de recharger ta page à chaque fois.
Pour cela, il te faudra une fonction JS qui loade les image en mémoire quand tu selectionne ta valeur dans la première liste. Puis une fonction qui change l'iamge du tableau selon le bouton sur lequel tu appuie. (comme un rollover si tu vois ce que c'est).
~ iclic @ gauch,iclic,  iclic @ droate, iclic, iclic
             et ya pas de bôg môsieu !    ~

Répondre à kij_82