Petit glossaire a partir de ma base se donnée

Fermé
maravilloss - 13 mai 2010 à 00:38
thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 - 13 mai 2010 à 02:51
bonjour à tous, moi c'est yannic et je veux faire un petit glossaire a partir de ma base de donnée en php. je veux pouvoir entrer le nom de quelqu'un dont le nom se trove dans ma base de donnée et affiché le le nom, prenom, email dans un datagrid qui se truve just en bas ... le nom de ma base=validation et ma table=valide
voici mon code aider moi a ameliorer .....


<?php

$host='localhost';
$user='root';
$pass="";
mysql_connect($host,$user,$pass) or die("connexion impossible");
mysql_select_db('validation')or die("base de donnée non selectionnée");

?>
<style type="text/css">
<!--
.Style4 {color: #FF0000}
-->
</style>
<th scope="col"><form name="form1" method="post" action="">
<table width="23%" border="1" align="center" cellspacing="0">
<tr>
<td><input type="text" name="rechercher" size="30" maxlength="40" value="" autocomplete="off" />
<label>
<input type="submit" name="recherche" value="Recherche">
</label></td>
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="center" valign="top"><table width="37%" border="1" align="center" cellspacing="0">
<tr>
<th width="26%" bgcolor="#00FFFF" scope="col"><span class="Style4">nom</span></th>
<th width="36%" bgcolor="#00FFFF" scope="col"><span class="Style4">prenom</span></th>
<th width="38%" bgcolor="#00FFFF" scope="col"><span class="Style4">email</span></th>
</tr>
<?php
if($_POST['recherche']=='Recherche'){
//pour le if: issi on poste le champs recherche qui est egale a la valeur Recherche
$rechercher=$_POST['rechercher'];
//pour en haut: maintenan on poste la variable recherche qui est le nom du champs
$rek1=("SELECT * FROM 'valide' WHERE soundex('nom') = soundex('".$recherche."')");
// on met la requete qui nous permet a travers le soundex de de selectionner selon les sons
$yan=mysql_query($rek1);//mysql_query premet d'executer la requet dont $yan a le resultat
while($yan2=mysql_fetch_array($yan)) {
//pour le while :tand kil des informations qui sont rentrer mettre ça dans un tableau associatif
//$yan2 est t'une variable qui va nous permettre d'afficher les info de façon renger selon les entetes


?>
<tr>
<td bgcolor="#FFFFFF" ><font color="#FF0000"><?php echo $yan2['nom']; ?></font></td>
<td bgcolor="#FFFFFF" ><font color="#FFFFFF"><?php echo $yan2['prenom']; ?></font></td>
<td bgcolor="#FFFFFF" ><font color="#FFFFFF"><?php echo $yan2['email']; ?></font></td>
</tr>
<?php }}?>
</table></td>
</tr>
</table>

1 réponse

thunder413 Messages postés 167 Date d'inscription jeudi 21 mai 2009 Statut Membre Dernière intervention 16 novembre 2012 23
13 mai 2010 à 02:51
salut
le premier conseil que je te donnerai c'est d'évitersoundex() elle n'est pas précise puisqu'elle évalue la prononciation donc si tu tape jean et que dans ta base tu a un jean pierre et jean paul tu risque d'avoir un problème utilise plutôt WHERE nom=='$recherche'pour avoir plus de précision ce qui m'emmène a mon deuxième conseil utilise $rechreche = trim($_POST['recherche']) pour supprimer les espace en début et fin de chaine ce qui aidera lors de la saisie et pour ne pas avoir les problème de cast utilise WHERE nom='".strtolower($recherche)."' pour éviter a mysql de faire la différence entre "jean" et "Jean" ensuite je te demanderai aussi de préférer l'utilisation de mysql_fetch_assoc() au lieu de mysql_fetch_array() puisque la première renvoie un et un seul tableau associatif contenant tes donnes alors que la deuxième retourne 2 tableau associatif et indexé ce qui fait que les ressource consommer par celle-ci sont énorme
quand tu fait un if il y' a forcement un else reste a savoir si il est impérative de le gérer ou non et dans ton cas il l'est puisque mysql_query() peut ne pas retourner un résultat dans ce cas tu doit tester la valeur de retour avec mysql_num_rows($yan) qui est égal a 0 si la requête sql ne retourne aucun résultat et le nombre de résultat trouver dans le cas contraire donc tu doit informer l'utilisateur s'il s'agit du premier cas c'est a dire aucun résultat trouver et enfin pour le design utilise les feuilles de style au lieu d'implanter directement tes style dans le script ca t' évitra d'encombrer ton code et d'avoir plus de contrôle sur les styles utilise ces conseils et tu atteindra l'appoger de ton code
CORDIALEMENT
0