Extraction, formatage et envoi de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Extraction, formatage et envoi de données

Re: Extraction, formatage et envoi de données

par Vince32 » 14 août 2015, 18:05

Salut,

visiblement cela est intégrer dans une classe php.

Je pense que les variables à utiliser dans une classe php doivent être définie dans la classe php avant d'être utilisé dans la classe comme tu le fais dans la fonction getSubscriptionDuration.

la première chose que je ferais, c'est mettre
echo $product_name
dans la fonction getSubscriptionDuration et voir ce que affiche ce echo lorsque tu met différente possibilités de $product_name
Je pense que cela n'affichera rien.

Re: Extraction, formatage et envoi de données

par Maitrepylos » 14 août 2015, 14:04

Salut,

Fait un var_dump de $product['name'] pour voir ce que tu renvoie

Code : Tout sélectionner

var_dump($product['name']);
En utilisant tes exemples, j’obtiens bien la réponse attendu

Extraction, formatage et envoi de données

par Cookieweb » 14 août 2015, 13:04

Bonjour à tous, je retouche en ce moment un module Prestashop permettant d'envoyer les données de commande à un prestataire.

Le dernier point qui me pose problème est le suivant :

Dans le cadre de ventes d'abonnements, le client peut choisir entre des forfaits mensuels de 3, 6, 12 ou 24h.
Je souhaite simplement extraire cette donnée et l'envoyer.

Cette information se trouve dans la colonne product_name de la table order_detail.

Voilà à quoi ressemblent les champs :
0805 000 000 - Forfait : 3h
0805 000 001 - Forfait : 12h
0805 000 002 - Forfait : 3h
0 820 23 98 90

Le dernier numéro correspond à un forfait illimité.

Voilà donc le code que j'ai actuellement :

Code : Tout sélectionner

private function getSubscriptionDuration($product_name) { $array =explode(":",$product_name); if(empty($array[1])) return "0"; else return str_replace("h","",trim($array[1])); }
On demande donc le chiffre correspondant au nombre d'heures du forfait et 0 s'il est illimité.
Et voilà la ligne qui me permet de récupérer la donnée :

Code : Tout sélectionner

$postdata['heureForfait_INFOFACTURE'] = $this->getSubscriptionDuration($product['name']);
Le retour envoie systématiquement 0, même pour les produits comportant un forfait.

Si jamais quelqu'un a une idée cela pourrait me faire gagner beaucoup de temps, merci.