Liste déroulant

Eléphanteau du PHP | 27 Messages

03 févr. 2010, 13:16

je doit crée un liste déroulant dynamique les choix sont les utilisateur de ma table utilisateur et ca ca marche bien elle affiche tout le utilisateurs et voila le code
1ere page "liste5.php"
<html>
<head>
<title>Untitled Document</title>
</head><body>
<form method="POST" name="forme20" action="liste6.php" >	            
<SELECT name="list" id="list">			
	                 <?php
	       $connexion=mysql_connect('localhost','root','');
	       $db=mysql_select_db('grh',$connexion);
	$sql = "SELECT distinct prenom FROM employer order by prenom";
	$reponse = mysql_query($sql)or die("erreur de connexion");
	while($donnees = mysql_fetch_array($reponse))
	 { ?>
	 <option value="<?php $donnees['prenom']?>"> <?php echo $donnees['prenom'] ?> </option>
	 <?php          	 
     }
	 ?></SELECT>
				<input type="submit" value="ok" name="ok" />	 
	   </form> 
je veut maintenant crée une 2 eme page php pour la récupération de la valeur de choix et l'affichage de les données concernat cette choix
et voila mon code de cet page "liste6.php"

</body>
</html>
Liste6.PHP
<html>
<body background="Images/traçage-yogo-elipse_03.gif">
<?php 
$dbhost="localhost";
$user="root";
$usebdd="grh";
//$list=$_POST['list'];
if(isset($_POST['list']))
{                        
$connexion=mysql_connect($dbhost,$user) or die('erreur connexion');                // sélection de la base 
mysql_select_db($usebdd,$connexion)     or die('erreur connexion a la base');          //connexio a la base

$req1="SELECT * FROM employer as emp, contrat as con , categorie as categ, service as ser WHERE emp.ncin=con.ncin and categ.ncin=emp.ncin and emp.ncin=ser.ncin";

//and emp.prenom='.$list.';
   $resultat1=mysql_query($req1);
   $num_rows=mysql_fetch_array($resultat1);
  $lig= mysql_fetch_row($resultat1);
    if(($num_rows)==0){echo"Eerreur2";  }
	//if(!$resultat1){echo"Eerreur3";  }
	else
	{echo'<div align="center">';

echo"<b> Modification</b><br>";
echo"<table border=1  bordercolor='#0000FF' align='center' bgcolor='#0000FF'>";echo"<tr>";
echo"<tr>";echo"<th>Nom</th>";
echo"<td><b><input type='text' size='20' name='nom' value='$lig[5]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Prénom</th>";
echo"<td><b><input type='text' size='20' name='prenom' value='$lig[6]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date de Naissance</th>";
echo"<td><b><input type='text' size='20' name='datenaissance' value='$lig[7]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Lieu de Naissance</th>";
echo"<td><b><input type='text' size='20' name='lieunaissance' value='$lig[8]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Ncin</th>";
echo"<td><b><input type='text' size='20' name='ncin' value='$lig[0]' readonly ></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date-cin</th>";
echo"<td><b><input type='text' size='20' name='datecin' value='$lig[1]' maxlength='8'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Matricule CNSS</th>";
echo"<td><b><input type='text' size='20' name='matcnss' value='$lig[2]' maxlength='10'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date-declaration-CNSS</th>";
echo"<td><b><input type='text' size='20' name='datedeclarcnss' value='$lig[3]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Matricule-emp</th>";
echo"<td><b><input type='text' size='20' name='matempl' value='$lig[4]' maxlength='3'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Adresse</th>";
echo"<td><b><input type='text' size='20' name='adresse' value='$lig[9]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>N°-Tel</th>";
echo"<td><b><input type='text' size='20' name='numtel' value='$lig[10]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date d'entré</th>";
echo"<td><b><input type='text' size='20' name='dateentrer' value='$lig[11]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Niveau</th>";
echo"<td><b><input type='text' size='20' name='niveau' value='$lig[12]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Etatcivil</th>";
echo'<td><select name="etatcivil">
    <option>Célibataire</option>
    <option>Marié(e)</option>
    <option>Divorcé(e)</option>
    <option>Veuf</option>
    <option>Séparé</option>
	</select></td>';echo"</tr>";
echo"<tr>";echo"<th>Nombre des enfants</th>";
echo"<td><b><input type='text' size='20' name='nbrenfants' value='$lig[14]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Etat</th>";
echo'<td><select name="etat">
	 <option>Titulaire</option>
     <option>Contractuel</option>
	 <option>Occasionnel
	 <option>Stagaire</option>
	 <option>SIVP</option>
	 <option>E.F</option>
	 <option>Saissonnier</option></select></td>';echo"</tr>";	 
echo"<tr>";echo"<th>Usine</th>";
echo'<td><select name="usine">
	 <option>Soril</option>
     <option>Sodipral</option></select></td>';echo"</tr>";
echo"<tr>";echo"<th>Categorie</th>";
echo"<td><b><input type='text' size='20' name='categ' value='$lig[22]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Degré</th>";
echo"<td><b><input type='text' size='20' name='degre' value='$lig[23]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Echlon</th>";
echo"<td><b><input type='text' size='20' name='echlon' value='$lig[24]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date debut degré</th>";
echo"<td><b><input type='text' size='20' name='datedebutdegre' value='$lig[25]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date fin degré</th>";
echo"<td><b><input type='text' size='20' name='datefindegre' value='$lig[26]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>N° Contrat</th>";
echo'<td><select name="numcontrat">
	 <option>1</option>
     <option>2</option>
	 <option>3</option>
	 <option>4</option></select></td>';echo"</tr>";
echo"<tr>";echo"<th>Date debut Contrat</th>";
echo"<td><b><input type='text' size='20' name='datedebut' value='$lig[19]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date fin contrat</th>";
echo"<td><b><input type='text' size='20' name='datefin' value='$lig[20]'></b></td>";echo"</tr>";


echo"<tr>";echo"<th>Poste</th>";
echo"<td><b><input type='text' size='20' name='poste' value='$lig[28]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Service</th>";
echo'<td><select name="nomservice">
	 <option>Direction adm-finan</option>
	 <option>Direction général</option>
     <option>Direction commercial</option>
	 <option>Informatique</option>
	 <option>Maintenance</option>
	 <option>Production</option>
	 <option>Sécurité</option>
	 </select></td>';echo"</tr>";
echo"<tr>";echo"<th>Unité</th>";
echo"<td><b><input type='text' size='20' name='unite' value='$lig[30]'></b></td>";echo"</tr>";
echo"</tr>";
echo"</table>";echo'</div>';}
?>
<table width="15%" bgcolor="#0000FF" align="center"><tr><td>
<a href="modifier person.html"><b><i><h2><font color="#FFFFFF">Précédent</font></h2></i></b></a></td><td><a href="#" onClick="window.close();"><b><i><h2><font color="#FFFFFF">Fermer</font></h2></i></b></a></td><td> <a href="menugrh.html"><b><i><h2><font color="#FFFFFF">Menu</font></h2></i></b></a></td></tr></table></td></pre>
<?php } else{echo"erreur5";}?>
</body></html>
le resultat :

*si je mettre cet requete($req1="SELECT * FROM employer as emp, contrat as con , categorie as categ, service as ser WHERE emp.ncin=con.ncin and categ.ncin=emp.ncin and emp.ncin=ser.ncin";) cad sans (and emp.prenom='.$list.') elle m'affiche toujours un résultat tableau qui contient les données concernant
le 1ere utilisateur en ordre alphabétique dans la base.

*si je mettre cet requete($req1="SELECT * FROM employer as emp, contrat as con , categorie as categ, service as ser WHERE emp.ncin=con.ncin and categ.ncin=emp.ncin and emp.ncin=ser.ncin and emp.prenom='.$list.' ";) cad avec (and emp.prenom='.$list.') elle m'affiche toujours "erreur5" ce msg je le décrit en cas ou le requête ne peut pas exécuter

Aide moi SVPPPPPP ou est le pbm est ce que au niveau de la récupération du choix de la liste ou??

Eléphant du PHP | 168 Messages

03 févr. 2010, 13:33

Si je comprends bien, tu veux afficher les champs d'un enregistrement en fonction du choix d'un utilisateur?
Je suis pas un pro du sql mais je ne connais pas la syntaxe de ta requête essaye comme ça:
$req1="SELECT * FROM employer WHERE prenom='.$list.' "

Eléphanteau du PHP | 27 Messages

03 févr. 2010, 13:38

Merci mais comment je doit faire la jointure entre les tables
sans (WHERE emp.ncin=con.ncin and categ.ncin=emp.ncin and emp.ncin=ser.ncin)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 févr. 2010, 14:27

Modération :
Afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

03 févr. 2010, 14:33

Salut,

Affiche la requête juste après l'avoir construite
echo $req1;
copier/coller => exécute la directement

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 27 Messages

03 févr. 2010, 16:10

SVP le pbm ici
quand j'ajout(

Code : Tout sélectionner

and emp.prenom='.$list.'
]) dans la requête

Mammouth du PHP | 568 Messages

03 févr. 2010, 16:27

Fais plutôt
$req1="SELECT * FROM employer WHERE prenom = '".$list."';"

Eléphant du PHP | 168 Messages

03 févr. 2010, 16:56

une jointure ça se fait comme ça :
select * from table1 inner join table2 on champ.table1 = champ.table2 inner join table3 on identifiant.table1=identifiant.table3 where champ=qqchose

Eléphanteau du PHP | 27 Messages

04 févr. 2010, 19:18

voila je modifier mon code et je le mettre dans une même page
<html>
<head>
<title>Untitled Document</title>
</head>

<body>
<?php
$dbhost="localhost";
$user="root";
$usebdd="grh";
$connexion=mysql_connect($dbhost,$user) or die('erreur connexion');                // sélection de la base 
mysql_select_db($usebdd,$connexion) or die('erreur connexion a la base');          //connexio a la base
?>
<form action=",$_SERVER['PHP_SELF'],"    method="post"  name="forme">
<SELECT name="prenom" id="prenom">
<option> </option>
	 <?php 	
	$sql = "SELECT distinct prenom FROM employer order by prenom";
	$reponse = mysql_query($sql);
	if($reponse)
	{
	while($donnees = mysql_fetch_array($reponse))
	   {?>
	   
	   <option value="<?php $donnees['prenom']?>"> <?php echo $donnees['prenom'] ?> </option>
	   <?php

	   } ?>
	           </SELECT>
	           <input type="submit" value="ok" name="ok" />	  
			    
				</form>
				

	<?php
	
	//$_POST['prenom']=$donnees['prenom'];
  //  $prenom=$_POST['prenom'];
   // if(!isset($_POST['prenom'])){echo"erreur liste";
     // exit;}
	 
	 $prenom=$donnees['prenom'];
	 if(isset($donnees['prenom']) or empty($donnees['prenom'])){echo"erreur9";	}
	 else
	 {

	
	//$prenom=$donnees['prenom'];
	//echo"$prenom";
	$req1="SELECT * FROM employer as emp, contrat as con , categorie as categ, service as ser WHERE emp.ncin=con.ncin and categ.ncin=emp.ncin and emp.ncin=ser.ncin";
	$req2="SELECT *FROM employer and emp.prenom='$prenom' ";
    $resultat1=mysql_query($req1);
    $resultat1=mysql_query($req2);
    $lig= mysql_fetch_array($resultat1);
    if(($lig)==0){echo"Eerreur2";  }
	else
	{echo'<div align="center">';

echo"<b> Modification</b><br>";
echo"<form  action='modifpersonnel2.php' name='for1'   method='post'  enctype='multipart/form-data' >";
echo"<table border=1  bordercolor='#0000FF' align='center' bgcolor='#0000FF'>";echo"<tr>";
echo"<tr>";echo"<th>Nom</th>";
echo"<td><b><input type='text' size='20' name='nom' value='$lig[5]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Prénom</th>";
echo"<td><b><input type='text' size='20' name='prenom' value='$lig[6]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date de Naissance</th>";
echo"<td><b><input type='text' size='20' name='datenaissance' value='$lig[7]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Lieu de Naissance</th>";
echo"<td><b><input type='text' size='20' name='lieunaissance' value='$lig[8]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Ncin</th>";
echo"<td><b><input type='text' size='20' name='ncin' value='$lig[0]' readonly ></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date-cin</th>";
echo"<td><b><input type='text' size='20' name='datecin' value='$lig[1]' maxlength='8'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Matricule CNSS</th>";
echo"<td><b><input type='text' size='20' name='matcnss' value='$lig[2]' maxlength='10'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date-declaration-CNSS</th>";
echo"<td><b><input type='text' size='20' name='datedeclarcnss' value='$lig[3]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Matricule-emp</th>";
echo"<td><b><input type='text' size='20' name='matempl' value='$lig[4]' maxlength='3'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Adresse</th>";
echo"<td><b><input type='text' size='20' name='adresse' value='$lig[9]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>N°-Tel</th>";
echo"<td><b><input type='text' size='20' name='numtel' value='$lig[10]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date d'entré</th>";
echo"<td><b><input type='text' size='20' name='dateentrer' value='$lig[11]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Niveau</th>";
echo"<td><b><input type='text' size='20' name='niveau' value='$lig[12]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Etatcivil</th>";
echo'<td><select name="etatcivil">
    <option>Célibataire</option>
    <option>Marié(e)</option>
    <option>Divorcé(e)</option>
    <option>Veuf</option>
    <option>Séparé</option>
	</select></td>';echo"</tr>";
echo"<tr>";echo"<th>Nombre des enfants</th>";
echo"<td><b><input type='text' size='20' name='nbrenfants' value='$lig[14]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Etat</th>";
echo'<td><select name="etat">
	 <option>Titulaire</option>
     <option>Contractuel</option>
	 <option>Occasionnel
	 <option>Stagaire</option>
	 <option>SIVP</option>
	 <option>E.F</option>
	 <option>Saissonnier</option></select></td>';echo"</tr>";	 
echo"<tr>";echo"<th>Usine</th>";
echo'<td><select name="usine">
	 <option>Soril</option>
     <option>Sodipral</option></select></td>';echo"</tr>";


echo"<tr>";echo"<th>Categorie</th>";
echo"<td><b><input type='text' size='20' name='categ' value='$lig[22]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Degré</th>";
echo"<td><b><input type='text' size='20' name='degre' value='$lig[23]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Echlon</th>";
echo"<td><b><input type='text' size='20' name='echlon' value='$lig[24]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date debut degré</th>";
echo"<td><b><input type='text' size='20' name='datedebutdegre' value='$lig[25]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date fin degré</th>";
echo"<td><b><input type='text' size='20' name='datefindegre' value='$lig[26]'></b></td>";echo"</tr>";


echo"<tr>";echo"<th>N° Contrat</th>";
echo'<td><select name="numcontrat">
	 <option>1</option>
     <option>2</option>
	 <option>3</option>
	 <option>4</option></select></td>';echo"</tr>";
echo"<tr>";echo"<th>Date debut Contrat</th>";
echo"<td><b><input type='text' size='20' name='datedebut' value='$lig[19]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Date fin contrat</th>";
echo"<td><b><input type='text' size='20' name='datefin' value='$lig[20]'></b></td>";echo"</tr>";


echo"<tr>";echo"<th>Poste</th>";
echo"<td><b><input type='text' size='20' name='poste' value='$lig[28]'></b></td>";echo"</tr>";
echo"<tr>";echo"<th>Service</th>";
echo'<td><select name="nomservice">
	 <option>Direction adm-finan</option>
	 <option>Direction général</option>
     <option>Direction commercial</option>
	 <option>Informatique</option>
	 <option>Maintenance</option>
	 <option>Production</option>
	 <option>Sécurité</option>
	 </select></td>';echo"</tr>";
echo"<tr>";echo"<th>Unité</th>";
echo"<td><b><input type='text' size='20' name='unite' value='$lig[30]'></b></td>";echo"</tr>";
echo"</tr>";
echo"<tr><td colspan='2' align='center'>";
echo"<input type='submit' value='ok'>";                        echo"<input type='reset' value='Effacer'>";
echo"</table>";echo'</div>';echo"</form>";}
?>
<table width="15%" bgcolor="#0000FF" align="center"><tr><td>
<a href="modifier person.html"><b><i><h2><font color="#FFFFFF">Précédent</font></h2></i></b></a></td><td><a href="#" onClick="window.close();"><b><i><h2><font color="#FFFFFF">Fermer</font></h2></i></b></a></td><td> <a href="menugrh.html"><b><i><h2><font color="#FFFFFF">Menu</font></h2></i></b></a></td></tr></table></td></pre>
</form>
<?php exit();}}?>
</body>
</html>
et voila le resultat
si je clic sur une choix
Objet non trouvé!
L'URL requise n'a pu etre trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.
Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le gestionnaire du site.
Error 404
127.0.0.1
02/03/10 23:02:31
Apache/2.2.13 (Win32) PHP/5.2.10

Eléphanteau du PHP | 27 Messages

04 févr. 2010, 19:19

pour la liste déroulant ca marche bien

Eléphant du PHP | 168 Messages

05 févr. 2010, 01:10

y'a une belle erreur de syntaxe dans ton form.
les virgules, personnellement j'ai jamais vu qu'on pouvait en mettre.

Eléphanteau du PHP | 27 Messages

05 févr. 2010, 10:43

merci mais a quelle virgule tu me parle
ca?

Code : Tout sélectionner

action=",$_SERVER['PHP_SELF'],"
mois aussi je le prend de l'internet

Eléphant du PHP | 168 Messages

05 févr. 2010, 14:40

les deux

Eléphanteau du PHP | 27 Messages

06 févr. 2010, 10:26

Bonjour
je supprime les deux virgule mais
Le même pbm
le même résultat
A++

Eléphant du PHP | 168 Messages

08 févr. 2010, 13:51

je ne sais pas si ça viens de là, mais ton form n'est pas dans les balises php, sinon je ne vois pas d'où ça vient