Souci avec variable dans requete

Résolu/Fermé
lonewolf - 11 févr. 2013 à 12:13
 lonewolf - 11 févr. 2013 à 14:25
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 11/02/2013 à 14:24
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 jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
11 févr. 2013 à 12:17
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
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 jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
11 févr. 2013 à 14:15
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
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 jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
11 févr. 2013 à 14:21
inscrits est bien un champ numérique dans ta table ?
valide est bien un champ varchar ou text ou un autre alphanumerique ?
0
Les deux sont des varchars
0
Bravo et merci.

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

Merci encore a tous pour votre aide.
0