Jump to content

Calendrier Datepicker


Recommended Posts

Bonjour,

Je suis un petit nouveau dans le monde de Prestashop et je désire créer un module pour exporter les commande du site en format .CSV, j'ai récupérer un module du nom de exportorder, qui est trés bien fait.

Mon souci vien du fait que j'ai voulu implanter un petit calendrier pour pouvoir choisir la date des commandes à exporter,
j'ai donc fait un petit

includeDatepicker(array('date_from'), true);



Le calendrier s'affiche bien, mais pas moyen de récupérer la valeur que je sélectionne sur le calendrier pour ma requête SQL.

Le code du champ avec le calendrier:

'.$this->l('Date:').' 

     <input type="text" size="20" id="date_from" name="date_from" value="'.(($editInProgress==1) ?$Edit[0]['date_from'] : (($ErrorAdd==1) ? Tools::getValue('date_from') : "")).'" /> *

'.$this->l('Start date/time from which voucher can be used').'
'.$this->l('Format: YYYY-MM-DD HH:MM:SS').'

Link to comment
Share on other sites

Bonjour,
Quand tu dis que tu ne peux pas récupérer ta valeur pour ta requête SQL, tu essaies de la récupérer comment, car je pense que le code que tu as mis là est bon, c'est de l'autre côté que ça doit planter...

Link to comment
Share on other sites

Bonjour,

Le datepicker est celui déjà présent dans prestashop ( monsite\js\jquery\datepicker ), ensuite dans ma requête SQL je compare ma date de commande avec la valeur de mon datepicker, c'est cette valeur que je ne trouve pas. j'ai essayé avec l'ID du champ mais ça ne marche pas..
C'est peut-étre une erreur dans la syntaxe de ma requéte..

le code de ma déclaration de variable:

includeDatepicker(array('date_from'), true);
   $date_from = $_POST["date_from"];



le code de ma requête SQL :

$sql='SELECT  '.implode(', ', $fields).' FROM '._DB_PREFIX_.'orders AS O, '._DB_PREFIX_.'customer AS C, '._DB_PREFIX_.'address AS AD, '._DB_PREFIX_.'address AS AI WHERE AI.id_address=id_address_invoice AND AD.id_address=id_address_delivery AND C.id_customer=O.id_customer AND O.date_add>$date_from';

Link to comment
Share on other sites

Pour ton date_picker, enlève le "true", il ne faut pas prendre en compte les heures..

du côté du formulaire

includeDatepicker(array('date_from'), false);



dans le fichier qui reçoit le POST

$date_from=$_POST['date_from'];



et dans la requête :

O.date_add>"$date_from 00:00:00"



et c'est quoi cette requête sans jointures ???

Link to comment
Share on other sites

je me trompe peut-être mais il y jointure, il y a bien WHERE

$sql='SELECT  '.implode(', ', $fields).' FROM '._DB_PREFIX_.'orders AS O, '._DB_PREFIX_.'customer AS C, '._DB_PREFIX_.'address AS AD, '._DB_PREFIX_.'address AS AI 
WHERE AI.id_address=id_address_invoice AND AD.id_address=id_address_delivery AND C.id_customer=O.id_customer AND O.date_add>"$date_from 00:00:00"';



J'ai modifié mon code comme tu me l'a dit, mais il veut toujours pas prendre en compte ma valeur.

Link to comment
Share on other sites

Non, des jointures c'est comme ça :

$sql = 'SELECT  '.implode(', ', $fields).' 
   FROM ((('._DB_PREFIX_.'orders AS o INNER JOIN '._DB_PREFIX_.'order_detail AS od ON (o.id_order=od.id_order)) 
   INNER JOIN customer c ON (c.id_customer=o.id_customer)) 
   INNER JOIN address a ON (a.id_address=o.id_address_invoice)) 
   INNER JOIN address ab ON (ab.id_address=o.id_address_delivery) WHERE 1=1 ';



Ta valeur est peut être postée mais non prise en compte par la requête, as tu moyen d'écrire cette valeur quelque part, une fois le POST fait ? il faut que tu essaies de voir si cette variables contient une valeur, peut être avec la fonction error_log de PHP...

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

Si ça intéresse la communauté je peu le poster, après je sais pas si j'ai trop le droit vue que c'est une modification d'un module déjà existant et que celui-ci existe en version payante...

Et le souci c'est que ce que j'ai fait c'est vraiment du code bourrin....

Link to comment
Share on other sites

  • 7 months later...

bonjour
moi aussi je développe un module dont j'ai réussi a intégrer le calendrier grâce a ce topic mais j'arrive pas a récupérer la date sélectionnée pour l'utiliser dans ma requête sql.
que doit-je mettre comme valeur de mon input ou sera insérer la date :question:

Link to comment
Share on other sites

  • 3 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...