Bonjour tout le monde!
J'ai besoin de faire deux listes déroulantes liées, l'une affiche le domaine: médical, social ou relations sociales. et l'autre affiche les chantiers correspondant aux différents domaines. j'ai déjà fais des recherches sur ce forum et sur d'autres sites mais j'arrive pas à afficher le contenu de la deuxième lise déroulante. elle est vide. Si quelqu'un peut m'aider je serai vraim reconnaissante. Je ss bloquée y'a 2 jrs .. Merci bcp!
domaine.jsp
<script language="javascript" type="text/javascript">
var xmlHttp
function showChantier(str) {
if (typeof XMLHttpRequest != "undefined"){
xmlHttp= new XMLHttpRequest();
}
else if (window.ActiveXObject){
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlHttp==null){
alert("Browser does not support XMLHTTP Request")
return;
}
var url="chantier.jsp";
url +="?domaine=" +str;
xmlHttp.onreadychantierchange = chantierChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function chantierChange(){
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById('chantier').innerHTML=xmlHttp.responseText
}
}
</script>
<td>Choisissez le domaine :</td>
<td>
<div id='chantier'>
<select name="domaine" onchange="showChantier(this.value)">
<option selected="selected" value="Médical">Médical</option>
<option value="Social">Social</option>
<option value="Relations sociales">Relations sociales</option>
</select>
</div>
</td>
</tr>
<tr>
<td> Veuillez choisir un chantier</td>
<td> <div id='chantier'>
<select name='chantier' >
<option value='-1'> </option>
</select>
</div>
</td>
</tr>
</table>
chantier.jsp
<% String dou=request.getParameter("domaine");
String buffer="<select name='chantier'><option value='-1'>Select</option>";
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/hibernate","root","root");
Statement stmt2=con.createStatement();
ResultSet rs2 = stmt2.executeQuery("SELECT d.idDomaine FROM Domaine d WHERE d.type_domaine='"+dou+"'");
//int id_selectionne=rs2.getInt(1);
con.close();
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con2 = DriverManager.getConnection("jdbc:mysql://localhost:3306/hibernate","root","root");
Statement stmt = con2.createStatement();
ResultSet rs = stmt.executeQuery("Select * from chantier where IDDOMAINE='"+rs2+"' ");
while(rs.next()){
buffer=buffer+"<option value='"+rs.getString(1)+"'>"+rs.getString(2)+"</option>";
}
buffer=buffer+"</select>";
response.getWriter().println(buffer);
}
catch(Exception e){
System.out.println(e);
}
%>
la table domaine
CREATE TABLE `domaine` (
`IDDOMAINE` bigint(255) NOT NULL auto_increment,
`LIBELLE` varchar(255) default NULL,
PRIMARY KEY (`IDDOMAINE`)
)
la table chantier
CREATE TABLE `chantier` (
`IDCHANTIER` bigint(255) NOT NULL auto_increment,
`IDDOMAINE` int(255) default NULL,
`LIBELLE` varchar(255) default NULL,
PRIMARY KEY (`IDCHANTIER`)
)
Partager