Bonjour,
J'essaie d'écrire un programme qui affiche sur ma page d'accueil d'un site de bibliothèque en ligne, 02 champs de recherche "par domaine" et "par titre". Ci après le petit programme, (fait avec frontpage). Quand je clique sur rechercher (par exemple un livre x), un tableau s'affiche mais il est vide et ne contient pas le nom ni les caractéristiques du livre x, qui pourtant existe au niveau des tables ouvrages et domaines. Je suis débutant, et je sollicite votre aide. J'utilise easyphp, sur windows xp.
Merci.
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
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 <html> <head> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>$</title> </head> <body> <p><font color="#FF0000" size="5">Résultats de la recherche</font></p> <hr> <?php $c=mysql_connect("localhost","root",""); $b=mysql_select_db("biblio"); echo($choix); $choix=$_POST['choix']; $valeur=$_POST['valeur']; $req="select * from ouvrage,domaine where (ouvrage.num_dom=domaine.num_dom) and (nom_dom='$valeur') and (titre_ouv='$choix')"; $exe=mysql_query($req); $nb=mysql_num_rows($exe); if ($nb==0) echo "pas de resultat!!!<br>"; else { echo "nombre de resultat trouvées : <font color='#FF0000' size='4'>$nb</font><br>"; ?> <table border="1" width="100%" id="table1"> <tr> <td align="center" bgcolor="#00FFFF">code </td> <td align="center" bgcolor="#00FFFF">auteure </td> <td align="center" bgcolor="#00FFFF">edition </td> <td align="center" bgcolor="#00FFFF">titre </td> <td align="center" bgcolor="#00FFFF">collection </td> <td align="center" bgcolor="#00FFFF">titre de periodique </td> </tr> <?php while ($liv=mysql_fetch_row($exe)) { echo"<tr><td>$liv[0]</td>"; echo"<td>$liv[1]</td>"; echo"<td>$liv[2]</td>"; echo"<td>$liv[4]</td>"; echo"<td>$liv[6]</td>"; echo"<td>$liv[7]</td></tr>"; } } ?> </body> </html>
Programme d'une recherche des ouvrages par domaine(1er champ(valeur=le nom de la zone de texte) pour saisir le domaine,et le 2eme(choix=le nom de la zone de texte) pour le titre de l'ouvrage )
le code en php:
S'affiche l'erreur:Notice: Undefined variable: choix in C:\Program Files\EasyPHP 2.0b1\www\biblio1\rech_dom.php on line 15
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 <html> <head> <meta http-equiv="Content-Language" content="fr"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>$</title> </head> <body> <p><font color="#FF0000" size="5">Résultats de la recherche</font></p> <hr> <?php $c=mysql_connect("localhost","root",""); $b=mysql_select_db("biblio"); echo($choix); $choix=$_POST['choix']; $valeur=$_POST['valeur']; $req="select * from ouvrage,domaine where (ouvrage.num_dom=domaine.num_dom) and (nom_dom='$valeur') and (titre_ouv='$choix')"; $exe=mysql_query($req); $nb=mysql_num_rows($exe); if ($nb==0) echo "pas de resultat!!!<br>"; else { echo "nombre de resultat trouvées : <font color='#FF0000' size='4'>$nb</font><br>"; ?> <table border="1" width="100%" id="table1"> <tr> <td align="center" bgcolor="#00FFFF">code </td> <td align="center" bgcolor="#00FFFF">auteure </td> <td align="center" bgcolor="#00FFFF">edition </td> <td align="center" bgcolor="#00FFFF">titre </td> <td align="center" bgcolor="#00FFFF">collection </td> <td align="center" bgcolor="#00FFFF">titre de periodique </td> </tr> <?php while ($liv=mysql_fetch_row($exe)) { echo"<tr><td>$liv[0]</td>"; echo"<td>$liv[1]</td>"; echo"<td>$liv[2]</td>"; echo"<td>$liv[4]</td>"; echo"<td>$liv[6]</td>"; echo"<td>$liv[7]</td></tr>"; } } ?> </body> </html>
Notice: Undefined index: choix in C:\Program Files\EasyPHP 2.0b1\www\biblio1\rech_dom.php on line 16
+ le tableau vide (mentionné plus haut) qui contient:code,auteur...mais sans aucune information(toujours le même résultat)
(comme si le champ du titre de l'ouvrage est vide).
Merci
Partager