Tom's Guide > Forum > Programmation > menu deroulant php
Mot :    Pseudo :           
 

bonjour à tous,

j'aimerai bien savoir est ce qu'il y'a un script en php qui me sert à:

charger des données a partir d'une base dans un menu deroulant ,par exemple charger des pays , puis qd je choisi un pays par ex: france, me charge toutes les villes de la frances dans un notre menu deroulant.

j'éspére que je vous ai bien expliqué

merci d'avance

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Je crois que ce n'est pas un script en php qu'il te faut mais un java-script.

Bonne journée à toi !
kéké.

------------------------------ Kéké, le grand Magdalestrüm.
Répondre à keke_magdales

voici un code de menu déroulant ton menu va s'ouvrir vers le bas

Citation :

<script language="JavaScript">
function goToURL() { history.go(-1); }
</script>
<style>
.menu
{
background-color:#000000;
border:1px solid darkblue;
width:150px;
font-size:11px;
font-family:verdana;
position: absolute;
font:bold;
color: #ffffff;
cursor: hand;
}
.item_panel
{
width:150px;
border-left:1px solid darkblue;
border-right:1px solid darkblue;
clip:rect(0,150,0,0);
position:absolute;
}
.item_panel a
{
text-decoration:none;
color:black;
cursor:hand;
}
.item
{
background-color: #E9F0F8;
width: 148px;
font-size: 10px;
font-family: verdana;

}
</style>
<script language="JavaScript">
var height = 20; // height of the menu headers
var iheight = 15; // height of the menu_items
var bgc = "#ffffff" // background color of the item
var tc = "black" // text color of the item
var over_bgc = "white";
var over_tc = "#ffffff";
var speed = 0;
var timerID = "";
var N = (document.all) ? 0 : 1;
var width = 152;
var self_menu = new Array();
function write_menu()
{
smc = 0; // count the position of the self_menu
document.write("<div style='position:absolute'>" );
mn = 0;
mni = 1;
start = -1;
for(i=0;i<Link.length;i++)
{
la = Link[i].split("|" );
if (la[0] == "0" )
{
if(start == 0)
{
document.write("</div>" );
h = csmc * iheight;
tmn = mn; //-h
self_menu[smc] = new Array(tmn,h,0,-2);
smc++;
mn--;
}
csmc = 0;
document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onclick='pull_down("+smc+","+mni+" )'> "+ la[1] + "</div>" );
self_menu[smc] = new Array(mn,height,0,mni);
smc++;
mni++;
mn+=height;
start = 1;
}
else
{
if(start == 1)
{
if(N)mn+=2;
document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>" );
start = 0;
}

document.write("<a href='"+la[2]+"'" );
if (la[3] != "" ) document.write(" target='" + la[3] + "' " );
document.write("><div class='item' id='d"+i+"' style='height:"+iheight);
if (N) document.write(";width:150" );
document.write("' onmouseover='color(this.id)' onmouseout='uncolor(this.id)'> "+ la[1] + "</div></a>" );
csmc++;
}
}
if (start == 0)
{
document.write("</div>" );
h = csmc * iheight;
tmn = mn + 5; //-h
self_menu[smc] = new Array(tmn,h,0);
name = "down" + (self_menu.length-1);
obj = document.getElementById(name);
obj.style.borderBottomColor = "darkblue";
obj.style.borderBottomWidth = 1;
obj.style.borderBottomStyle = "solid";
}
document.write("</div>" );}
function color(obj)
{
document.getElementById(obj).style.backgroundColor = over_bgc;
document.getElementById(obj).style.color = over_tc
}

function uncolor(obj)
{
document.getElementById(obj).style.backgroundColor = bgc;
document.getElementById(obj).style.color = tc
}

function pull_down(nr,c)
{
if (timerID == "" )
{
to = self_menu[nr+1][1]
begin = nr + 2;
if (timerID != "" ) clearTimeout(timerID);
if (self_menu[nr+1][2] == 0)
{
self_menu[nr+1][2] = 1;
if(nr == self_menu.length-2) {to++;}
epull_down(begin,to,0);
}
else
{
to = 0;
self_menu[nr+1][2] = 0;
name = "down"+(nr+2);
open_item = 0;
for(i=0;i<nr;i++)
{
if(self_menu[i][2] == 1)
{open_item += self_menu[i][1];
}
}
if (N == false) {open_item-= (c*1)};
if (nr== self_menu.length-2) {val = self_menu[self_menu.length-1][1];to=-1;}
else val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);
epull_up(begin,to,val);
}
}
}

function epull_down(nr,to,nowv)
{
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+1)+",0)";
for (i=nr;i<self_menu.length;i++)
{
name = "down" + i;
obj = document.getElementById(name);
obj.style.top = parseInt(obj.style.top)+1;
}
nowv++;
if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+" )",speed);
else timerID = "";
}

function epull_up(nr,to,nowv)
{
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
for (i=nr;i<self_menu.length;i++)
{
name = "down" + i;
obj = document.getElementById(name);
obj.style.top = parseInt(obj.style.top)-1;
}
nowv--;
if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+" )",speed);
else timerID = "";
}

function startup(nr)
{
write_menu();
if (nr != 0)
{
for(i=0;i<self_menu.length;i++)
{
if(self_menu[i][3] == nr) pull_down(i,nr)
i==self_menu.length;
}
}
}
</script>
<table width=150><tr><td>
<script language="JavaScript">
//Link[nr] = "position [0 is menu/1 is item],Link name,url,target (blank|top|frame_name)"
var Link = new Array();
Link[0] = "0|NOM DE LA SECTION";
Link[1] = "1|NOM DU LIEN|ADRESSE DU LIEN|";
Link[2] = "1|NOM DU LIEN|ADRESSE DU LIEN|";
Link[3] = "1|NOM DU LIEN|ADRESSE DU LIEN|";
Link[4] = "1|NOM DU LIEN|ADRESSE DU LIEN|";
Link[5] = "0|NOM DE LA SECTION";
Link[6] = "1|NOM DU LIEN|ADRESSE DU LIEN|";
Link[7] = "1|NOM DU LIEN|ADRESSE DU LIEN|";
startup(4);
</script>
</td>
</tr>
</table>

Répondre à milie0033

merci à vous tous pour vos reponses

bonne journée

Répondre à hamiss

il faut sql pour generer les liste déroulantes, et javascript pour intéragir de facon dynamique celon le choix de l'utilisateur.
Je pensse qu'ajax peut faire ca aussi.

Répondre à okinou

Ouai ... on peu aussi faire un menu déroulant en CSS > TUTORIAL

Et sql ... ouai ... ben franchement, j'en ai pas forcément besoin pour des menus hein [:hakan:14]

------------------------------ N'oubliez pas le [Résolu] dans le titre si vous êtes satisfait.
Les règles du Forum - À lire absolument
Répondre à RedTux

Bof, pas forcément besoin de menus.
Tu fais deux "select"..., tu fais une page PHP qui génère ton select en fonction du pays sélectionné.
Tu mets à jour en javascript


Message édité par OmaR le 27-09-2007 à 18:22:06
------------------------------ Les dessins des seins ou les desseins des saints ?
Répondre à OmaR
Tom's Guide > Forum > Programmation > menu deroulant php
Aller à :

Il y a 1907 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens