Probleme recuperation variable autocompletion listbox liées
Bonjour à tous,
Voilà je suis en train de faire un formulaire dans lequel il y a une autocomplétion. Cette autocomplétion ramène le nom du document dans l'inputbox saisi par l'user et dans un second temps, j'affiche les versions disponibles pour ce document par le biais d'un select box. Jusque là, c'est bon.
Mon problème c'est que dès je "POST" mon formulaire je ne trouve pas le moyen de récupérer mon numéro de version.
Ma page de formulaire se décompose de la façon suivante :
docversion.php : contient le formulaire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| <html>
<head>
<title>test autocompletion document et version</title>
<script type="text/javascript" src="jquery.js"></script>
<script type='text/javascript' src='jquery.autocomplete.js'></script>
<link rel="stylesheet" type="text/css" href="jquery.autocomplete.css" />
<script type="text/javascript">
$().ready(function() {
//fonction qui fait l'autocompletion pour rechercher le nom du document
$("#course").autocomplete("get_course_list.php", {
width: 260,
matchContains: true,
selectFirst: false
});
});
</script>
<script type="text/javascript">
function showversion(str)
//fonction qui va récupérer le(s) version(s) du document passé en paramètre dans l'input name="couse"
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getversiontst.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>
<?php
require_once "config.php";
?>
Nom du document <label>:</label>
<form autocomplete="off" action="showidz.php" method="POST">
<input type="text" name="course" id="course" size="40" onclick="showversion(this.value)"/><br/>
<div id="txtHint"><b>Liste des versions</b></div>
<input type="submit" value="Submit" />
</form>
</body>
</html> |
getversiontst.php : classe php qui récupére les versions en fonction du document passé en paramètre dans docversion.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <?php
//connexion BDD
require_once "config.php";
$q=$_GET["q"];
$sql ="
SELECT `NumeroVersion` FROM `version`, document WHERE document.idversion = version.idversion and document.NomDocument ='".$q."'
";
$result = mysql_query($sql);
//affiche le selectbox avec les versions en fonction du NomDocument
echo "<select name='numeroversion'>";
while($row = mysql_fetch_assoc($result)){
echo "<option value='".$row["idversion"]."'>".$row["NumeroVersion"]."</option>";
}
echo "</select>";
mysql_close($con);
?> |
get_course_list.php : autocomplétion pour le nom du document
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
require_once "config.php";
header( 'content-type: text/html; charset=utf-8' );
$q = mysql_real_escape_string(strtolower($_GET["q"]));
if (!$q) return;
$sql = "select distinct NomDocument from Document where NomDocument LIKE '%$q%'";
$rsd = mysql_query($sql);
while($rs = mysql_fetch_array($rsd)) {
$cname = $rs['NomDocument'];
echo "$cname\n";
}
?> |
page php de test qui doit récupérer les infos de docversion.php, c'est là je n'arrive que à récupérer le nom du document mais pas l'id de la version. Avez vous une idée pour me dé patauger de ce problème :cry:??
showidz.php :
Code:
1 2 3 4 5 6
| <?php
$docname = $_POST["course"];
$idversion = $_POST["numeroversion"];
echo "$docname</br>";
echo $idversion;
?> |