Recherche dans la Base de donnée

Fermé
fab0 Messages postés 35 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 26 janvier 2007 - 1 oct. 2006 à 21:45
fab0 Messages postés 35 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 26 janvier 2007 - 4 oct. 2006 à 20:02
Bonsoir tout le monde

Je souhaite que l'utilisateur qui vient sur mon site puisse faire une recherche des personnes inscrites selon le département ou la ville.

Pour cela j'utilise 2 pages.

Une avec une liste déroulante qui me permet de voir les personnes inscrites sur mon site (cela fonctionne), un champ ville et un champ code postal.

la seconde page doit me permettre de récupérer le nom et le prénom selon le département ou la ville indiqué à la page précédente.

Voici ma première page:

<?php 

include("../fonction_php_mysql/fonction.php");
ouvreBase();

$requete = "SELECT Id_adherents, nom, prenom, ville, cp FROM adherents";
$result = mysql_query($requete);
fermerBase();
?>

</head>

<body link="#FFCC33" vlink="#FFFFFF" alink="#FF0000">
<!-- Tableau 1 debut -->
  		<table width="900" height="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  				<tr>
    					<td>
						<!-- Tableau 2 debut -->
								<!-- <form name="form" action="info_adherents.php" method="post"> -->
									
        					<table width="575"  height="550"border="0" cellspacing="0" cellpadding="0" align="center" background="../logo/nos_adherents.gif" class="medium">
          
		  																<!-- Début recherche par nom et prénom -->														
														<tr>
																<td>&nbsp;</td>
																<td>&nbsp;</td>
														</tr>																			
														<tr>
												<form name="form" action="info_adherents.php" method="post">				
																										  																						
            																<td  align="right" > <!-- valign="middle" -->
              																							<select name="nom_prenom">
																												<option>Sélectionnez votre Nom</option>
																												<?php 
																															while ($enregistrement = mysql_fetch_row($result)){
																													?>
																													<option value="<?php echo $enregistrement[0]; ?>"><?php echo $enregistrement[1]." ".$enregistrement[2]?></option>

																													
																													<?php 
																														}
																													?>
    																					</select>
																				</td>
           																		 <td align="center"><input name="submit" type="submit" value="Voir mes coordonnées" ></td>
																				 <td>&nbsp;</td>
														</form>
														</tr>
																	<!-- Fin recherche par nom et prénom -->
														<form action="affiche_ville.php" method="post" name="form_1" target="_self">																											
														<tr>
																				<td align="right">Indiquez une ville:</td>										
																				<td align="center"><input name="ville" type="text" size="30" maxlength="29"></td> 
																				 <td align="center"><input name="submit" type="submit" value="Ok" ></td>            																																									
														</tr>																			
														</form>
														<form action="affiche_cp.php" method="post" name="form_2" target="_self">																
														<tr>		
																				<td align="right">Indiquez un code postal:</td>																			
																				<td align="center"><input name="cp" type="text" size="6" maxlength="5"></td>
																				<td align="center"><input name="submit" type="submit" value="Ok" ></td>	
														</tr>
														</form>						
    									</table>



Voici ma seconde page, celle qui doit afficher le nom et les prenoms :

<?php 

include("../fonction_php_mysql/fonction.php");
ouvreBase();
$id=$_POST["cp"];
$requete = "SELECT nom, prenom FROM adherents WHERE cp=' " .$id." ' " ;
$result = mysql_query($requete);
fermerBase();
if ($result==0) echo "impossible d'éffectuer le requête";
//un tableau, case 1 :Id_auditeur, case 2 : nom...
$enregistrement=mysql_fetch_row($result);
?>
<?php echo  $requete ?>
</head>

<body link="#FFCC33" vlink="#FFFFFF" alink="#FF0000">
<table width="900" height="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  			<tr>
    				<td><table width="575"  height="550" border="0" cellspacing="0" cellpadding="0" align="center">
  							<tr>
    								<td background="../logo/formulaire.gif">
	
	
				
			<table width="540" border="0" cellspacing="0" cellpadding="0" align="center" class="medium">
  		<input name="idadherents" type="hidden" value="<?php echo $enregistrement[0]; ?>">
  <tr>
    	<td>Nom : </td>
    	<td> Prénom :</td>
  </tr>
  <tr>
    	<td align="center"><input name="nom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[1]; ?>"> </td>
    	<td align="center"><input name="prenom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[2]; ?>"></td>
  </tr>
  <tr>
    	<td align="center"><input name="nom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[1]; ?>"> </td>
    	<td align="center"><input name="prenom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[2]; ?>"></td>
  </tr>
  <tr>
    	<td align="center"><input name="nom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[1]; ?>"> </td>
    	<td align="center"><input name="prenom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[2]; ?>"></td>
  </tr>
  <tr>
		 <td align="center"><input name="nom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[1]; ?>"> </td>
    	<td align="center"><input name="prenom" type="text" size="20" maxlength="19"  value="<?php echo $enregistrement[2]; ?>"></td>
</tr>


Voilà ce que je voudrai obtenir:

Exemple : l'utilisateur saisi un code postal dans le champ approprié de la page 1, il clique sur "ok" qui le renvoi vers la page 2 ou logiquement devrait apparître toutes les personnes faisant parties de ce départemnt, ce que je n'arrive pas à faite.

J'arrive via ma liste déroulante à récupérer les utilisateurs mais le reste impossible.

Merci pour l'aide que vous m'apporterez

1 réponse

$id=$_POST["cp"];
$requete = "SELECT nom, prenom FROM adherents WHERE cp=' " .$id." ' " ;
$result = mysql_query($requete) or die(mysql_error());
fermerBase();

if( mysql_num_rows($result) == 0 )
{
    echo 'Aucun résultat';
}
else
{
    while( $r = mysql_fetch_assoc($result) )
    {
        echo $r['nom'] . ' ' . $r['prenom'] . ' ' . $r['adherents'];
    }
}
0
fab0 Messages postés 35 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 26 janvier 2007
2 oct. 2006 à 18:17
Merci Dingo ton code fonctionne à merveille je récupère bien les noms.

Mais car il y a un mais (tu vas dire que je suis chiant et je comprendrai). Je n'arrive pas à envoyer les noms récuperer dans les du formulaires, je met pourtant la variable
echo $r['nom']
dans le value de mon champ mais rien ne se produit.

Tu vois je voudrais que les noms et les prénoms que je récupère s'affiche dans des champs.

Voilà pour l'instant c'est tout ;). Si tu ne répond ce n'est pas grave tu m'as déjà bien dépanné, de mon côté je vais continué à me travailler les meninges car j'ai encore beaucoup de boulot sur ce site.
0
fab0 Messages postés 35 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 26 janvier 2007
2 oct. 2006 à 22:37
Re tout le monde,

Voilà depuis que je suis rentré je suis dessus et je n'ai toujours pas la solution cela fait maintenant 5 bonnes heures. Ce serait vraiment cool si quelqu'un pouvait m'aider à récupérer dans les champs de mon formulaire nom et le prénom de chacune des personnes faisant parties de tel ou tel département.

Le code de dingo ma énormément avancé puisque je récupère les valeurs mais ils s'écrivent sur une ligne et donc moi comme vous l'avez compris je souhaite qu'ils aillent dans mes champs.

Merci d'avance à vous tous.
0
Normalement ça devrait fonctionner.

Tu peux mettre ton code modifier ?
0
fab0 Messages postés 35 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 26 janvier 2007
4 oct. 2006 à 20:02
Voici le code qui doit me permettre de récuperer les utilisateurs selon le code postal

<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../style/style.css" rel="stylesheet" type="text/css">
<?php 

include("../fonction_php_mysql/fonction.php");
ouvreBase();
$id=$_POST["cp"];
$requete = "SELECT nom, prenom FROM adherents WHERE cp=' " .$id." ' " ;
$result = mysql_query($requete) or die(mysql_error());
fermerBase();
if( mysql_num_rows($result) == 0 )

{
    echo 'Il n\'y a pas d\'adhérents dans ce département.';
}
else
{
    while( $r = mysql_fetch_assoc($result) )
    {
        echo $r['nom'] . ' ' . $r['prenom']  ;             
		    }
}
?>

</head>

<body link="#FFCC33" vlink="#FFFFFF" alink="#FF0000">
<table width="900" height="100%" border="0" cellspacing="0" cellpadding="0" align="center">
  			<tr>
    				<td><table width="575"  height="550" border="0" cellspacing="0" cellpadding="0" align="center">
  							<tr>
    								<td background="../logo/formulaire.gif">
	
	
				
			<table width="540" border="0" cellspacing="0" cellpadding="0" align="center" class="medium">
  		<input name="idadherents" type="hidden" value="<?php echo $r['0']; ?>">
  <tr>
    	<td>Nom : </td>
    	<td> Prénom :</td>
  </tr>
  <tr>
    	<td align="center"><input name="nom" type="text" size="20" maxlength="19"  value="<?php echo $r['nom']; ?>"> </td>
    	<td align="center"><input name="prenom" type="text" size="20" maxlength="19"  value="<?php echo $r['prenom']; ?>"></td>
  </tr>
  <tr>
    	<td align="center"><input name="nom" type="text" size="20" maxlength="19"  value="<?php echo $r[1]; ?>"> </td>
    	<td align="center"><input name="prenom" type="text" size="20" maxlength="19"  value="<?php echo $r[2]; ?>"></td>
  </tr>


Merci pour ton aide
0