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.
getversiontst.php : classe php qui récupére les versions en fonction du document passé en paramètre dans docversion.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
get_course_list.php : autocomplétion pour le nom du document
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); ?>
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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"; } ?>??
showidz.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $docname = $_POST["course"]; $idversion = $_POST["numeroversion"]; echo "$docname</br>"; echo $idversion; ?>
Partager