Souci avec variable dans requete

Résolu
lonewolf -  
 lonewolf -
Bonjour,

j'ai un souci tout bête.

Sur une requête,j'essai d'afficher une ligne de ma table avec 3 conditions. Les deux premières fonctionnent mais quand je met la 3ème, je n'ai pas de resutat de retour.

Cette condition est sur la date contenu dans ma table et je ne vois pas quelle erreur, je peux bien faire, car lorsque je fais un echo de la date, j'ai bien la bonne date, affiché correctement et identique a celle contenu dans ma table.

Pouvez vous m'aider svp ?

//Connection Mysql
 
 
// ********* Recupération date *********
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
 
$mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
 
$datedujour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y");
 
echo $datedujour;  //la ca fonctionne
 
 
//********* Fin Recupération date *********
mysql_connect("**","**","**")or die("Problème avec la base de données");
mysql_select_db("**")or die ("pas de connection");
 
 
 $reponse = mysql_query("SELECT * FROM capvimbles WHERE inscrits=1 AND valide='1' AND datedujour='".$datedujour."'"); // Requête SQL
 
 
 
 
// On fait une boucle pour lister tout ce que contient la table :
//***********************************************************************************************************************
if ($reponse)
{
 
//*************************************************************************************************************************
while ($donnees = mysql_fetch_array($reponse))
 
{
 
?>
 
  <tr>
 
    <td><center><font face="tahoma" size="2"><?php echo $donnees['id']; ?></font></center></td>
   
    <td><center><font face="tahoma" size="2"><?php echo $donnees['datedujour']; ?></font></center></td>
     
    <td><center><font face="tahoma" size="2"><?php echo $donnees['heure']; ?></font></center></td>
 
        <td><center><font face="tahoma" size="2"><?php echo $donnees['nom']; ?></font></center></td>
 
        <td><center><font face="tahoma" size="2"><?php echo $donnees['numero']; ?></font></center></td>
 
        <td><center><font face="tahoma" size="2"><?php echo $donnees['nombre']; ?></font></center></td>
 
        <td><center><font face="tahoma" size="2"><?php echo $donnees['nombre']*50; ?></font></center></td>
 
        <td><center><font face="tahoma" size="2"><?php echo ($donnees['prixfinal1b']+$donnees['semence'])*($donnees['nombre']*50); ?>€</font></center></td>
 
   </tr>





8 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
cela se produit avec un mois qui a un accent => Février

il faut peut être chercher du côté de l'interclassement de ta table

voir cette page:
https://www.developpez.net/forums/d708481/bases-donnees/mysql/administration/interclassement-accent/
1
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
essaye d'afficher ta requête et de l'exécuter dans phpmyadmin (reflexe à adopter dès que tu as un doute sur une requête)

echo $req = "SELECT * FROM capvimbles WHERE inscrits=1 AND valide='1' AND datedujour='".$datedujour."'";
$reponse = mysql_query($req); // Requête SQL
0
lonewolf
 
Ca me renvoi la bonne date mais la comparaison semble négative car je n'ai rien dans mon tableau comme si les deux dates différaient alors que c'est le meme script et que lorsque j'affiche elle sont identiques.
C'est a s'arracher les cheveux

Cordialement
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
tu as exécuté ta requête dans phpmyadmin ?

Si tu veux manipuler des dates dans ta table de données, le mieux (à mon sens) c'est d'utiliser des timestamp.
C'est un nombre, c'est plus facile à comparer et à manipuler qu'une chaine de caractères, parce qu'une différence de majuscule ou d'espace suffit à faire échouer ta comparaison
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lonewolf
 
Je suis bien d'accord

Le truc, c'est que la requete qui inscrit dans la table est identique a celle qui me permet de faire mon echo et la comparaison dans ma clause WHERE

Mais je commence a penser que l'erreur doit etre ailleurs car meme lorsque je rentre la date en dur (en copiant ce qu'il y a dans la table) ca ne me renvoi rien comme si le AND ne donnait rien
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
inscrits est bien un champ numérique dans ta table ?
valide est bien un champ varchar ou text ou un autre alphanumerique ?
0
lonewolf
 
Les deux sont des varchars
0
lonewolf
 
Bravo et merci.

C'est bien l'accent qui pose problème.

Merci encore a tous pour votre aide.
0