J'ai utilisé du javascript pour générer 2 listes liées chargées à partir de tables postgresql.
C'est la première fois que j'utilise autre chose que du php et je ne sais pas comment faire pour récupérer la valeur choisie dans une variable php ??
Et j'ai l'impression que je ne part pas du bon côté.
Merci d'avance
PS : J'ai utilisé des listes générées en javascript pour tenter de réduire la longueur des scripts et pouvoir faire un appel de scripts php dans un form
du type :
<FORM action ='valid_es_import.php' name="form" target='central' method="POST" enctype="multipart/form-data">
<?php
require("listes_site_parcelle.php");
require("../modeles/liste_experimentation.php");
require("../modeles/liste_operateur.php");
?>
<input name="fichier" id="fichier" type="file" size="20" />
<input type="submit" name="ok" id="ok" value="Envoyer" />
</FORM>
<?//connection à la base
//-- récupération des informations de la premiere table (site)--
$nbsite = 0;
$SQL="SELECT id_site,code_site FROM t_site ";
$exec_site =pg_query($db,$SQL);
while($row_site = pg_fetch_array($exec_site))
{
$nbsite = $nbsite+1;
if ($nbsite==1)
{
$idsite="'$row_site[id_site]'";
$valsite="'$row_site[code_site]'";
}
else
{
$idsite="$idsite,'$row_site[id_site]'";
$valsite="$valsite,'$row_site[code_site]'";
}
}
//-- FIN récupération des informations de la premiere table --
//-- récupération des informations de la deuxieme table (parcelle)--
$nbparcelle = 0;
$nbparcelle2 = 0;
$SQL="SELECT * FROM t_parcelle ";
$exec_parcelle =pg_query($db,$SQL);
while($row_parcelle = pg_fetch_array($exec_parcelle))
{
$nbparcelle = $nbparcelle+1;
}
$SQL="SELECT id_parcelle,id_site,num_parcelle FROM t_parcelle ORDER BY num_parcelle";
$exec_parcelle =pg_query($db,$SQL);
while($row_parcelle = pg_fetch_array($exec_parcelle))
{
$nbparcelle2 = $nbparcelle2+1;
if ($nbparcelle2==1)
{
$idparcelle="'$row_parcelle[id_site]'";
$valparcelle="'$row_parcelle[num_parcelle]'";
}
else
{
$idparcelle="$idparcelle,'$row_parcelle[id_site]'";
$valparcelle="$valparcelle,'$row_parcelle[num_parcelle]'";
}
}
//-- FIN récupération des informations de la deuxieme table table --
//création des tableau récupérant les données des tables
echo "<form name='form1' method='get' >
<script language='javascript'>
var test ;
var clear ;
var nb ;
var idsite = new Array($idsite);
var site = new Array($valsite);
var idparcelle = new Array($idparcelle);
var parcelle = new Array($valparcelle);
</script>";
?>
<script language="javascript">
var tes=new Array('Selectionnez un site');
document.write('<select name=site onchange=verifconsite() onclick=<?php $id_site='document.form.site.value'; ?>>');
document.write('<option>Selectionner un site</option>');
for(var i = 0; i < idsite.length; i++)
{
document.write('<option value='+ idsite[i] +'>' + site[i] + '</option>');
}
document.write('</select>');
function verifconsite()
{
nb=0
for(var i = 0; i < idparcelle.length; i++)
{
if (idparcelle[i] == document.form.site.value)
{
nb=nb+1;
form.parcelle.options[nb] = new Option (parcelle[i]);
}
if (idparcelle[i] !== document.form.site.value)
{
form.parcelle.options[nb+1] = null;
}
}
nb=0
}
document.write('<select name=parcelle>');
document.write('<option>Selectionner une parcelle</option>');
document.write('</select>');
</script>
<?
echo $idsite;
pg_close();
?