Récupération de données aléatoire avec un SELECT

frfx Messages postés 2 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 12 août 2005 - 12 août 2005 à 17:35
frfx Messages postés 2 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 12 août 2005 - 12 août 2005 à 20:11
Bonjour,

J'ai fait une base de données clients avec mysql, l'insertion ou la modification de données s'efféctue sans problème, par contre lorsque je fais une recherche sur un "nom" ou une "societe", il me sort n'importe quoi car il semble que les données qui ne correspondent pas à la requette SELECT * FROM table WHERE.... soient quand mème retenues !!!

Ci joint la fonction que j'utilise :

/********************************************************/
function recherche($host, $user, $pass, $base_de_donnees){
$tableau1 = array ('','','','','','','','','','','','','');
@mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données");
@mysql_select_db($base_de_donnees);


$sql "SELECT * FROM contacts WHERE nom_contact '".$_POST['Nom']."' OR societe = '".$_POST['Societe']."'";

$resultat = mysql_query($sql) or die ("Erreur SELECT table "contacts" : ".mysql_error());


while ($donnees = mysql_fetch_array($resultat)){
$tableau1[0] = $donnees[0];
$tableau1[1] = $donnees[1];
$tableau1[2] = $donnees[2];
$tableau1[3] = $donnees[3];
$tableau1[4] = $donnees[4];
$tableau1[5] = $donnees[5];
$tableau1[6] = $donnees[6];
$tableau1[7] = $donnees[7];
$tableau1[8] = $donnees[8];
$tableau1[9] = $donnees[9];
$tableau1[10] = $donnees[10];
$tableau1[11] = $donnees[11];
$tableau1[12] = $donnees[12];
}
mysql_close();
return($tableau1);
}
/***********************************************/
Si je rentre "societe1" ou "nom1", je vais avoir un résultat aléatoire, "societe5", "nom5" !!!!
Si quelqu'un à une idée ......
Merci d'avance.

2 réponses

malik7934 Messages postés 1154 Date d'inscription mardi 9 septembre 2003 Statut Membre Dernière intervention 15 août 2009 17
12 août 2005 à 18:34
j'suis quasi sur que ton erreur est là:

$tableau1[0] = $donnees[0];


$tableau1[1] = $donnees[1];


$tableau1[2] = $donnees[2];


$tableau1[3] = $donnees[3];


$tableau1[4] = $donnees[4];


$tableau1[5] = $donnees[5];


$tableau1[6] = $donnees[6];


$tableau1[7] = $donnees[7];


$tableau1[8] = $donnees[8];


$tableau1[9] = $donnees[9];


$tableau1[10] = $donnees[10];


$tableau1[11] = $donnees[11];


$tableau1[12] = $donnees[12];

ca, ca sous entend que tu as UNE SEULE reponse de la base de données,
c'est à dire que tu passes qu'une fois dans la boucle... donc, s'il y a
plusieurs réponse, seule la dernière sera gardée.



<strike>$tableau1 array ('','','','','','','','','','','','','');</strike> -> $tableau1 array ();
0
frfx Messages postés 2 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 12 août 2005
12 août 2005 à 20:11
Merci pour ta réponse rapide il est clair que le problème ressemble beaucoup à ce que tu dis, mais en fait, pour les tests j'ai mis dans la base de données 'societe1' 'nom1', 'societe2' 'nom2', etc... donc il n'y a qu'un seul élément possible.

Si je fais une requette 'societe2' je ne vois pas de raison à récupérer 'societe6' qui ne correspond pas à la requette !?!

N'étant pas du tout au top coté base de données je vais approfondire suivant tes conseils.

@+ et merci
0
Rejoignez-nous