PHP - Probleme indemerdable

Bonjour,

J`essaye de faire une requete a 2 conditions avec variable! Le paradis a celui qui trouve mon erreur!

Voici mon code:

<?php

$date_today = time();

$tmoins30 = date('d/m/Y', $date_today - 30*86400);

mysql_connect("localhost", "root", ""); // Connexion à MySQL
mysql_select_db("jc"); // Sélection de la base coursphp

$vente1_30=mysql_num_rows(mysql_query("SELECT * FROM sells WHERE selling_date=$tmoins30 AND offer='1'"))or die(mysql_error()); // Requête SQL
$vente5_30=mysql_num_rows(mysql_query("SELECT * FROM sells WHERE selling_date=$tmoins30 AND offer='5'"))or die(mysql_error());
$vente10_30=mysql_num_rows(mysql_query("SELECT * FROM sells WHERE selling_date=$tmoins30 AND offer='10'"))or die(mysql_error());
$vente50_30=mysql_num_rows(mysql_query("SELECT * FROM sells WHERE selling_date=$tmoins30 AND offer='50'"))or die(mysql_error());
$vente100_30=mysql_num_rows(mysql_query("SELECT * FROM sells WHERE selling_date=$tmoins30 AND offer='100'"))or die(mysql_error());

mysql_close(); // Déconnexion de MySQL

?>

<?php echo $vente1_30; ?>
<?php echo $vente5_30; ?>
<?php echo $vente10_30; ?>
<?php echo $vente50_30; ?>
<?php echo $vente100_30; ?>

Et voici ma table

Structure de la table sells

Champ Type Null Défaut
id mediumint(9) Oui NULL
code_eremat mediumint(9) Oui NULL
bill_number mediumint(9) Oui NULL
selling_date date Oui NULL
offer mediumint(9) Oui NULL
price mediumint(9) Oui NULL
payment_confirmation mediumtext Oui NULL

Contenu de la table sells
1 0 0 0000-00-00 1 0
2 0 0 0000-00-00 1 0
3 0 0 2009-02-26 5 0
4 0 0 2009-02-26 1 0

Merci d`avance a tout ceux qui passeront du temps pour essayer de m`aider.
Manu
Configuration: Windows XP
Firefox 2.0.0.20

4 réponses

  1. Salut

    La ou ça ne colle pas c'est que tu compare une date au format amercain (celle de mysql) à une date au format classique. Regarde dans ta base de donnée la date est ainsi "2009-02-26" et toi tu la compare avec par exemple "26/02/2009". Il faudrai que tu adapte le format de ta date pour qu'il soit le même que sous mysql. Et donc

    $tmoins30 = date('Y-m-d', $date_today - 30*86400);

    L'erreur signalée par benj est egalement valable et aussi n'oubli pas d'ajouter des dates dans ta bases pour que ça colle toujours comme le signale BigFish
    1. essaye de mettre des guillemets simple à : selling_date=$tmoins30
      comme ça : selling_date='$tmoins30'
      1. Je viens d`essayer en placant des guillemets simples. Toujours aucun affichage.
    2. Salut,

      ton $tmoins30 vaut 27/02/2009 hors il n'y en a aucun dans ta table, essaie de mettre cette valeur dans ta table et reteste.
      1. Merci Mimiste, BigFish72 et Benj. Je m`en suis finalement sorti grace a vos conseils.

        Manu