Anonymus
samedi 4 juin 2005 à 07:55
En fait, il nous faudrait le plan de ta base de données, pour pouvoir te dire ce qu'il faudrait mettre précisément.
En gros, ca donnerait ceci :
Données récupérées à partir du formulaire, dans la page 'add.php' :
- nom,
- prenom,
- sexe,
- perf,
- lieu,
- pays,
-etc...
On récupère ces données comme ceci :
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$sexe = $_POST['sexe'];
etc..
ps : A ceci, il faut penser à sécuriser les données.
- Le sexe, par exemple, n'a pas besoin d'un champ 'texte', mais d'un champ 'radio'.
- Le 'pays' n'a pas besoin d'un champ texte non plus, mais d'un 'select option', en fonction des pays que tu as déjà dans la base. A la personne de choisir dans ce que tu as déjà enregistré.
- idem pour le reste. Essaies de restreindre au maximum les possibilités.
La différence, c'est que tu vas récupérer des 'entiers' (des nombres) au lieu de récupérer des 'chaines de caractère'. C'est important, parce qu'au lieu de chercher 'Amérique', ou 'Etats Unis', ou 'USA', ou 'Etats unis d'Amérique'..., tu auras d'un coté enregistré le numéro de ce pays (par exemple USA= 1), et tu proposes à l'internaute le choix entre 'France(=0)', USA(=1), Russie(=2), etc..
Et lors de ta recherche, tu chercheras le pays qui correspond au numéro sélectionné par l'internaute. le formulaire donnerait donc :
<select name=pays>
<option value=0>France</option>
<option value=1>USA</option>
<option value=2>Russie</option>
</select>
Ensuite, au niveau de la sécurité, tu as juste à faire un test pour savoir si la personne a bien entré :
1/ un nombre,
2/ compris entre '0' et 'maximum de pays', soit '2'
Soit :
$pays= $_POST['pays']*1;
if ($pays>'0'&&$pays<'3'){}
else $pays = '0';
Ensuite, à supposer que tu aies une base de données avec une table 'athlete', ca donnerait ceci :
CODE
$q = "SELECT nom,prenom,sexe FROM athlete WHERE nom LIKE '".$nom."' AND prenom LIKE '".$prenom."' AND sexe LIKE '".$sexe."' ";
$r = mysql_query($q);
echo"<br> Athlètes trouvés :
$nb=0;
while ($row = mysql_fetch_array($r)){
$nb++;
echo"<p> Nom : ".$row['nom'];
echo"<br> Nom : ".$row['prenom'];
echo"<br> Nom : ".$row['sexe'];
}
if ($nb==0)
echo"<br> Aucun athlète trouvé";
else
echo"<p>Soit un total de ".$nb." athlètes trouvés correspondant";
echo"Fini;)";
Mais comme tu peux voir, ca dépend essentiellement des tables où sont enregistrés les données.