Code : Tout sélectionner
<fieldset>
<legend>Please define an expression profile to match</legend>
<form name="formulaire" action='omg_save_filter.php?idparameters=<?php echo $idparameters;?>&idproject=<?php echo $idproject;?>&user_defined_number_of_filters=<?php echo $user_defined_number_of_filters;?>' method="POST" >
<?php
for($i=0;$i<$user_defined_number_of_filters;$i++)
{
$option1="option1_".$i;
$option2="option2_".$i;?>
<?php echo $i.": ".$option2;?>
<label for="<?php echo $option1;?>"></label>
<select onchange='afficheoption2(<?php echo $idparameters;?>,<?php echo $idproject;?>,<?php echo $option1;?>,<?php echo $option2;?>,<?php echo $user_defined_number_of_filters;?>)' name='<?php echo $option1;?>' id='<?php echo $option1;?>' >
<OPTION VALUE=-1 selected>Choose a filter</OPTION>;
<OPTION value="cluster">Cluster</OPTION>
<OPTION value="BHR">BHR</OPTION>
<OPTION value="feature">Feature</OPTION>
<OPTION value="specie">Specie</OPTION>
<OPTION value="gene">Protein</OPTION>
</select>
<label for="<?php echo $option2;?>"></label>
<span name='<?php echo $option2;?>' id="<?php echo $option2;?>" >
<!-- Seconde liste deroulante-->
</span>
<br><input type="hidden" name=<?php echo "filternumber".$i;?> value="<?php echo $option2;?>"></input>
<?php }?>
<div class="buttons">
<input type="hidden" name="idparameters" value="<?php echo $idparameters;?>"></input>
<input type="hidden" name="idproject" value="<?php echo $idproject;?>"></input>
<input type="hidden" name="history" value="<?php echo $historic;?>"></input>
<input type="hidden" name="user_defined_number_of_filters" value="<?php echo $user_defined_number_of_filters;?>"></input>
<br><br>
<input type="submit" name="submit" value="Add a Filter" id="input_add" ></input>
<input type="submit" name="submit" value="Delete the last filter" id="input_del" ></input>
<br><br>
<input type="submit" name="submit" value="Submit" class="btn_submit" ></input>
</div>
</form>
</fieldset>
Voici le javascript :
Code : Tout sélectionner
function getXmlHttpRequest()
{
if(window.XMLHttpRequest)
{
xhr = new XMLHttpRequest();
}else if(window.ActiveXObject)
{
try{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}else{
alert("Votre navigateur ne supporte pas l'object XMLHTTPRequest!");
xhr = false;
}
}
function afficheoption2(idparameters,idproject,a,b,nbpara)
{
getXmlHttpRequest();
xhr.onreadystatechange = function()
{
if(xhr.readyState == 4 && xhr.status == 200)
{
menu = xhr.responseText;
document.getElementById(b.id).innerHTML = menu;
}
}
xhr.open("POST","omg_select_queries.php?idparameters="+eval(idparameters)+"&idproject="+eval(idproject),true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
selection = document.getElementById(a.id);
idoption1 = selection.options[selection.selectedIndex].value;
xhr.send("idoption1="+idoption1+"&option="+b.id+"&idparameters="+eval(idparameters)+"&idproject="+eval(idproject)+"&nbpara="+eval(nbpara));
}
omg_select_queries.php:
Code : Tout sélectionner
[php]
$idparameters=$_POST['idparameters'];
$idproject=$_POST['idproject'];
$user_defined_number_of_filte=$_POST["nbpara"];
$option_2=$_POST["option"];
if(isset($_POST["idoption1"]) and $_POST["idoption1"]=="specie")
{
echo "<select name='$option_2' id='$option_2'>";
$query="SELECT *
FROM $database.specie,$database.specie_has_project
WHERE $database.specie_has_project.project_idproject=$idproject
AND $database.specie_has_project.specie_idspecie=$database.specie.idspecie";
$queryresult = pg_query($query);
echo "<OPTION VALUE=-1 $selected>Choose a specie </OPTION>\n";
while($row = pg_fetch_row($queryresult))
{
echo "<option value='".$_POST["idoption1"]."/".$row[2]." ".$row[1]." ".$row[3]." ".$row[4]."'>".
$row[2]." ".$row[1]." ".$row[3]." ".$row[4]."</option>";
}
echo "</select>";
}
[/php]Code : Tout sélectionner
[php]
$idparameters=$_GET['idparameters'];
$idproject=$_GET['idproject'];
$user_defined_number_of_filters=$_GET["user_defined_number_of_filters"];
for($i=0;$i<$user_defined_number_of_filters;$i++)
{
echo "<br>$i ".$_POST["option2_".$i];
}[/php]