Probleme SQL PHP - effectuer une requête avec inférieur ou égale et une date ...

Signaler
Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012
-
Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012
-
Bonjour ,
Je vous remets entre les mains un petit problème facheux ...
Ma requête fonctionne très bien lorsque $date = date (DD-MM-YYYY)et quand $date >= date(DD-MM-YYYY);
par contre lorsque je souhaite récupérer les uniquement les dates inférieures ou égales alors j'obtiens le message suivant :

Notice: Undefined variable: config in /www/lwt/process.php on line 5 à 10

dans ma base de données , la date est inscrite de la manière suivante : VARCHAR(25) date_deb : JJ-MM-AAAA

le code la page est le suivant :

<?php
require_once("***/***.php");
$date = date("d-m-Y");
$db2 = mysql_select_db( $database_protection) ;
$sql2 = "SELECT date_fin_jou,date_fin_moi,date_fin_ann,date_fin_heu,date_fin_min,date_fin_sec FROM offres WHERE validation='0' AND date_deb <= $date";
$requete2 = mysql_query($sql2) or die('Erreur SQL !
'.$sql2.'
'.mysql_error());
while ($data = mysql_fetch_assoc($requete2)) 
{
 $config = array(
'targetDate' => array(	// Target countdown date
'day'	 => $data['date_fin_jou'],
'month'	 => $data['date_fin_moi'],
'year'	 => $data['date_fin_ann'],
'hour'   => $data['date_fin_heu'],
'minute' => $data['date_fin_min'],
'second' => $data['date_fin_sec']
)
);} 
?>


En vous remerciant par avance ...

BFx

7 réponses

Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012


<?php
require_once("***/***.php");
$date = date("d-m-Y");
$db2 = mysql_select_db( $database_protection) ;
$sql2 = "SELECT date_fin_jou,date_fin_moi,date_fin_ann,date_fin_heu,
date_fin_min,date_fin_sec FROM offres WHERE validation='0' 
AND date_deb <= $date";
$requete2 = mysql_query($sql2) or die('Erreur SQL !
'.$sql2.'
'.mysql_error());
while ($data = mysql_fetch_assoc($requete2)) 
{
 $config = array(
'targetDate' => array(	// Target countdown date
'day'	 => $data['date_fin_jou'],
'month'	 => $data['date_fin_moi'],
'year'	 => $data['date_fin_ann'],
'hour'   => $data['date_fin_heu'],
'minute' => $data['date_fin_min'],
'second' => $data['date_fin_sec']
)
);} 
?>


BFx
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

dans ma base de données , la date est inscrite de la manière suivante : VARCHAR(25) date_deb : JJ-MM-AAAA

C'est ta première erreur : tu aurais du utiliser un champ de type DATE. Je te recommande de changer rapidement ceci sans quoi tu ne pourras pas manipuler les dates comme tu le souhaites dans tes requêtes SQL.

$date = date("d-m-Y");

Seconde erreur, mais sans conséquences : MySQL possède des fonctions internes qui sont bien plus pratiques et performantes pour faire ça. Réfère toi aux fonctions de date et heure.

AND date_deb <= $date

Une autre erreur avec cette (mauvaise) méthode : tu aurais du mettre des quotes autour de la valeur de la date. M'enfin si tu utilises une fonction MySQL ce ne sera plus la peine.
Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012

Merci , super sympa , je vais y travailler , je posterai les modifications ... ;-)

BFx
Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012

Par contre dans mon compte a rebours en jquery , j'ai un soucis , il ne fonctionne qu'une fois et non repete comme il devrai l'etre !!!!

<?php 

$date = date("d-m-Y");
$db2 = mysql_select_db( $database_dbprotect ) ;

$sql2 = "SELECT id_offres,smalltitre,image01,description,date_fin_jou,date_fin_moi,
date_fin_ann,date_fin_heu,date_fin_min,date_fin_sec,validation,deal_val,pages FROM offrespro WHERE validation='0' ";

$requete2 = mysql_query($sql2) or die('Erreur SQL !
'.$sql2.'
'.mysql_error());

while ($data = mysql_fetch_assoc($requete2)) // On fait une boucle pour récupérer les résultats, le FETCH_OBJ peut être considéré comme le array.

{ ?> 



                  

<?php echo "".$data['smalltitre']."" ; ?>

             
     
<!-- Countdown dashboard end -->

    <!-- Debut du compte a rebours -->
<script language="Javascript" type="text/javascript" src="js/jquery-1.4.1.js"></script>
<script language="Javascript" type="text/javascript" src="js/jquery.lwtCountdown-1.0.js"></script>

<? include('cntdwn/deals_cntdwn.php'); ?>
    <!-- fin du compte a rebours -->

       


[# " alt="" />]

<?php echo "".$data['description']."" ; ?>


[http://www.bfxdealscount.fr/consult_deal.php?id_offres=<?php echo  &validation=<?php echo "".$data['validation']."" ; ?>" class="h2_more">Voir le Deal]       [# <?php echo "".$data['deal_val']." Acheteur(s)" ; ?>]


    	
 
<?php     }?>   
                  
            




BFx
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
language="Javascript"

Cet attribut est obsolète, retire le stp.

Sinon il est configuré où ton compte à rebours ? As-tu regardé la documentations sur comment le mettre en place ?
Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012

Je l'ai déjà mis en place sur une autre page est il fonctionne très bien , mais une page comportant un seul compte a rebours .

Le soucis est que lorsque je mets les deux lignes suivantes dans header de ma page , mes compteurs fonctionnent mais ne s'arrete pas à zéro:





Alors que si je les mets entre ma requete SQL et
comme dans l'exemple un peu plus haut alors 1 seul compteur fonctionne uniquement. Je dois te dire que j'en perds un peu mon latin .

Mon compte à rebours est configuré dans le fichier suivant :






















hours











minutes











seconds










jQuery(document).ready(function() {
$('#countdown_dashboard').countDown({
targetDate: {
'day': ,
'month': ,
'year': ,
'hour': ,
'min': ,
'sec':
}
});

// Subscription functions
$('#email_field').focus(email_focus).blur(email_blur);
$('#subscribe_form').bind('submit', subscribe_submit);
});






[u]
Le fichier process_date.php : /u




le fichier config.php , le code est le suivant :


Messages postés
60
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
10 mai 2012

Bonjour ,
J'ai effectué toutes les modifications demandées (javascript, champs DATE, utilisation de currentdate() au lieu de $date ...) mais toujours pas d'amélioration .


BFx