Pb traitement mysql
loupbrun
-
sly-bzh Messages postés 417 Statut Membre -
sly-bzh Messages postés 417 Statut Membre -
Bonjour,
Voila, j'ai une table de 11 champs. Le premier appelé 'Titre' est de type Varchar et le dernier appelé 'id' est auto-increment.
'Titre' se remplit normalement avec un Textfield dans mes scripts. J'utilise INSERT.
Seulement voila, lorsque je fais un Mysql_querry et que je parcours les résultats de 'Titre', je fais une comparaison sur un titre et le résultat est toujours positif, même si les enregistrements dans 'Titre' sont différents du titre recherché. Comme si la fonction Mysql_fetch_row faisait une comparaison sur le type et non sur la valeur elle-même.
Voici la petite partie du code correspondant :
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('planning',$db);
$data = mysql_query('SELECT * FROM animations WHERE Animateur = "'.$Anim.'"');
// $Anim est passé en paramètre correspond à un autre champs (pour être sûr !)
while ($Sort_by_Animateur = mysql_fetch_row($data))
{
if ($Sort_by_Animateur[0] = $A)
// $A est le titre recherché et 'Titre' correspond à $Sort_by_Animateur[0]
{
echo "trouvé !...";
// Normalement, si $A <> des titres présents dans la base, il ne devrait pas écrire "trouvé"
// Or quoi que je mette dans $A, il écrit "Trouvé !"
}
}
echo "Non trouvé !...";
mysql_close();
Merci de votre aide
Voila, j'ai une table de 11 champs. Le premier appelé 'Titre' est de type Varchar et le dernier appelé 'id' est auto-increment.
'Titre' se remplit normalement avec un Textfield dans mes scripts. J'utilise INSERT.
Seulement voila, lorsque je fais un Mysql_querry et que je parcours les résultats de 'Titre', je fais une comparaison sur un titre et le résultat est toujours positif, même si les enregistrements dans 'Titre' sont différents du titre recherché. Comme si la fonction Mysql_fetch_row faisait une comparaison sur le type et non sur la valeur elle-même.
Voici la petite partie du code correspondant :
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('planning',$db);
$data = mysql_query('SELECT * FROM animations WHERE Animateur = "'.$Anim.'"');
// $Anim est passé en paramètre correspond à un autre champs (pour être sûr !)
while ($Sort_by_Animateur = mysql_fetch_row($data))
{
if ($Sort_by_Animateur[0] = $A)
// $A est le titre recherché et 'Titre' correspond à $Sort_by_Animateur[0]
{
echo "trouvé !...";
// Normalement, si $A <> des titres présents dans la base, il ne devrait pas écrire "trouvé"
// Or quoi que je mette dans $A, il écrit "Trouvé !"
}
}
echo "Non trouvé !...";
mysql_close();
Merci de votre aide
A voir également:
- Pb traitement mysql
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Traitement de texte gratuit - Guide
- Ce logiciel gratuit et léger est parfait pour remplacer Word, même sur un vieux PC - Guide
- Mysql community download - Télécharger - Bases de données
- Traitement de texte gratuit open office - Télécharger - Suite bureautique
Merci pour ta réponse rapide...
J'ai effectivement remplcé le simple = par un double.
Ca a en parti résolu..
Les enregistrements passés à la table semble se pourvoir d'un espace supplémentaire en fin de chaine.
J'ai donc pu faire ma comparaison en rajoutant un \n.
Les enregistrements sont temporairement inscrites dans un fichier texte tampon. Cela vient peut-être de là.
voici ma fonction recherche modifiée :
function Recherche_animation_par_animateur($Animation,$Animateur)
{
// Connexion à la base :
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('planning',$db);
$data = mysql_query('SELECT * FROM animations WHERE Animateur = "'.$Animateur.'"');
while ($Sort_by_Animateur = mysql_fetch_row($data))
{
if ($Sort_by_Animateur[0] == "$Animation\n")
{
return true;
break;
}
}
return false;
mysql_close();
}
Cette fonction marche bien mais il suffit que j'ajoute un critère comme la date par exemple et ça tombe en ruine...
Je continue à chercher...
Si par hasard vous avez des scripts qui fonctionnent comme suit, je suis preneur :
- Formulaire de saisie (non d'animation, date, lieu, tranches d'âge...)
- validation de ces données et inscription dans une table
|-> Vérification de l'existence d'une même animation pour une même date
Merci de votre aide.