Bonjour à tous,
J'ai un petit logiciel de 2 listes déroulantes liées et alimentées par bdd qui fonctionne très bien, mais je voudrais que les résultats d'une requête affiche les données d'une autre table"coordonnees" provenant d'une autre bdd dans le tableau html. Malheureusement il m'affiche toujours le message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Notice: Undefined index: nom_categorie in C:\Program Files\EasyPHP-5.3.3.1\www\infopub\Tab.php on line 41
 
Notice: Undefined index: nom_selection in C:\Program Files\EasyPHP-5.3.3.1\www\infopub\Tab.php on line 41
Ci-joint :listeslieesBis.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<?php
// Connexion à la base
 
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'test';
 
 
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
?>
 
<?php
// initialisation/recuperation de la selection
// categorie
if (isset($_GET['categorie'])){
	$categorie= $_GET['categorie'];
} elseif (isset($_POST['selectcategorie'])){
	$categorie = $_POST['selectcategorie'];
} else {
	$categorie = '';
}
// selection
if (isset($_POST['selectselection'])){
	$selection = $_POST['selectselection'];
} else {
	$selection = '';
}
?>
 
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
	<title>Document sans titre</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 
	<script type="text/javascript">
	function modifcombo()
	{
		var id_categorie = document.form1.selectcategorie.value;
		document.location.replace("listeslieesBis.php?categorie=" + id_categorie );
	}
	</script>
 
</head>
 
<body>
 
	<p>Essai formulaire</p>
 
	<form name="form1" method="post" action="Tab.php">
	<table width="100%" border="1">
	<tr>
	    <td>categorie:</td>
		<td>
			<select id="idselectcategorie" name="selectcategorie" class="txt16-000000" onChange="javascript: modifcombo();">
				<option value="">...</option><!-- Valeur vide pour forcer l'utilisateur a selectionner  -->
<?php			// Execution requete : tous les categories
				$ma_req = "SELECT * FROM T_CATEGORIES;";					  
				$res_req = mysql_query($ma_req) or die("Selection table \"T_CATEGORIES\" impossible");
 
				// Affectation des variables utilisees pour l'affichage
				if (mysql_num_rows($res_req)!=0) { // resultat non vide
					while ($une_ligne = mysql_fetch_array($res_req)) {
						$id_categorie = $une_ligne["id_categorie"];
						$nom_categorie = $une_ligne["nom_categorie"];
						$sel_categorie = ($id_categorie == $categorie)? ' selected="selected"' : ''; // option selectionnee ? oui : non
?>
				<option value="<?php echo $id_categorie; ?>"<?php echo $sel_categorie; ?>><?php echo $nom_categorie; ?></option>
<?php				} // fin while
				} // fin if
?> 
			</select>
		</td>
	</tr>
	<tr>
		<td>selection :</td>   
        <td>
			<select id="idselectselection" name="selectselection" class="txt16-000000">		
				<option value="">...</option><!-- Valeur vide pour forcer l'utilisateur a selectionner  -->
<?php	  		// Execution requete : les selection des catégories selectionnées 
				$ma_req = "SELECT * FROM T_SELECTIONS WHERE id_categorie = '".$categorie."';";
				$res_req = mysql_query($ma_req) or die("Selection table \"T_SELECTIONS\" impossible");
				// Affectation des variables utilis?es pour l'affichage
				if (mysql_num_rows($res_req)!=0) // resultat non vide
				{  
					while ($une_ligne = mysql_fetch_array($res_req)) {
						$id_selection = $une_ligne["id_selection"];
						$nom_selection = $une_ligne["nom_selection"];
						$sel_selection = ($id_selection == $selection)? ' selected="selected"' : ''; // option selectionnee ? oui : non
?>
				<option value="<?php echo $id_selection; ?>"<?php echo $sel_selection; ?>><?php echo $nom_selection; ?></option>	
<?php				} // fin while
				} // fin if
?> 
			</select>
		</td>
	</tr>
	<tr>
        <td colspan="2">
			<input type="submit" name="envoyer" value="envoyer" />
		</td>
	</tr>
	</table>
	</form>
 
</body>
</html>
et le code: Tab.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
 
<?php
 
 if (isset($_POST['envoyer'])) 
{
	function Verif_magicquotes ($chaine)
	    {
	        if (get_magic_quotes_gpc()) $chaine = stripslashes($chaine);
 
	        return $chaine;
	    } 
 // Récupération des valeurs des champs du formulaire 
	$message = array();
 
 //$categorie = $_POST['selectcategorie'];
	$id_categorie = isset($_POST['selectcategorie']) && trim($_POST['selectcategorie']) != '' ? Verif_magicquotes(ucfirst(trim($_POST['selectcategorie']))) : null;
 if ($id_categorie=$_POST['selectcategorie']);
	$selection = isset($_POST['selectselection']) && trim($_POST['selectselection']) != '' ? Verif_magicquotes(ucfirst(trim($_POST['selectselection']))) : null;
 	echo $_POST['selectcategorie'];
	echo $_POST['selectselection'];
 
	if (!isset($selection))
	    {
		     $message[] = 'Veuillez choisir une option dans la seconde liste déroulante';
		}  
	}
    if (isset($message) && count($message) == 0) 
	// connexion à la base de données
try
{
//echo'<strong>Faites votre choix dans la liste :</strong>';
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
 
$pass = '';
$db = 'clients';
 
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
       $select = "SELECT * FROM coordonnees WHERE  cat='$_POST[nom_categorie]' AND selection='$_POST[nom_selection]'";
 
 
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
 
 
// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
	echo $selection;
    echo '<table bgcolor="FFFFFF">'."\n";
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
        echo '<tr>';
		echo '<td bgcolor="#669999"><b><u>id</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>cat</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>selection</u></b></td>';
 
        echo '<td bgcolor="#669999"><b><u>nom</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>prenom</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>numtel</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>codepostal</u></b></td>';
		echo '<td bgcolor="#669999"><b><u>ville</u></b></td>';
		echo '</tr>'."\n";
    // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
    while($row = mysql_fetch_array($result)) {
        echo '<tr>';
		echo '<td bgcolor="#CCCCCC">'.$row["id"].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row["cat"].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row["selection"].'</td>';
        echo '<td bgcolor="#90EE90">'.$row["nom"].'</td>';
        echo '<td bgcolor="#90EE90">'.$row["prenom"].'</td>';
		echo '<td bgcolor="#9ACD32">'.$row["numtel"].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row["codepostal"].'</td>';
		echo '<td bgcolor="#CCCCCC">'.$row["ville"].'</td>';
		echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo 'Pas d\'enregistrements dans cette table...';
 
// on libère le résultat
mysql_free_result($result);
}
catch(Exception $e)
{
    // En cas d'erreur précédemment, on affiche un message et on arrête tout
    die('Erreur : '.$e->getMessage());
}
 
 
?>
Quelqu'un peut-il m'aider à résoudre ce problème car j'avoue que l'index indéfini de nom_categorie et nom_selection me laisse perplexe?
Sincères remerciements
Claudine