export_ventes.php


6 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Dans la fonction export des ventes (modules/export/administrer/export_ventes.php , je voudrais ajouter les champs suivants:

  1. "iso" de la table "pays" (car sinon le pays s'affiche dans la langue du client)
  2. Le "code_facture" de la "table commandes " afin de créer le lien vers la facture pour l'imprimer sans passer par le back office
  3. Le "prix" du produit de la table "commandes_articles" (le "prix" est bien le prix brut ttc - remise et code promo calculé?)
  4. Et enfin "id" de la table "types"

Voici mon code de cette page:


include("../../../configuration.inc.php");

include("../../../lib/fonctions/fonctions_admin.php");

necessite_identification();

necessite_priv("admin");

header("Content-Type: application/vnd.ms-excel");

header("Expires: 0");

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

header("Content-disposition: filename=export_ventes_" . date($GLOBALS['date_basic_format_short']) . ".xls");

if (empty($_GET["dateadded1"]) || empty($_GET["dateadded2"])) {

die();

}

if (!empty($_GET["id_statut_paiement"])) {

$extra_sql =  "AND id_statut_paiement = '" . intval($_GET["id_statut_paiement"]) . "'";

}else{

$extra_sql =  "";

}

$sqlC = "SELECT *

FROM peel_commandes

WHERE id_ecom = '" . intval($GLOBALS['site_parameters']['id']) . "' AND TO_DAYS(o_timestamp) >= TO_DAYS('" . nohtml_real_escape_string($_GET["dateadded1"]) . "') AND TO_DAYS(o_timestamp) <= TO_DAYS('" . nohtml_real_escape_string($_GET["dateadded2"]) . "') ".$extra_sql."

ORDER BY o_timestamp";

$ensemble_cout_transport = $ensemble_total_ht = $ensemble_total_ttc = $super_total = 0;

$total_transport = 0;

$total_transport_ht = 0;

$total_ht =  0;

$total_tva = 0;

$total = 0;

$ligne_total_produit_ht = $ligne_total_produit_ttc = 0;

$ligne_cout_transport_ht = $ligne_tva_cout_transport = $ligne_cout_transport = 0;

$ligne_tarif_paiement_ht = $ligne_tva_tarif_paiement = $ligne_tarif_paiement = 0;

echo "Num&#233;ro commande\tDate de vente\tNom de l'acheteur\tAdresse\tVille\tCode postal\tPays\tProduit_id\tCouleur_id\tTaille_id\tArticle\tQuantit&#233;\tMode de paiement\tTransport\r\n";

$resC = query($sqlC);

while ($C = fetch_assoc($resC)) {

$i = 0;

$numero = $C['id'];

$date_vente = date($GLOBALS['date_basic_format_short'] . ' ' . $GLOBALS['time_basic_format_long'], strtotime($C['o_timestamp']));

$nom_acheteur = htmlspecialchars_decode_compat_php4($C['nom_bill'], ENT_QUOTES);

$adresse = htmlspecialchars_decode_compat_php4($C['adresse_bill'], ENT_QUOTES);

$ville = htmlspecialchars_decode_compat_php4($C['ville_bill'], ENT_QUOTES);

$code_postal = $C['zip_bill'];

$pays = htmlspecialchars_decode_compat_php4($C['pays_bill'], ENT_QUOTES);


if(get_vat_array($C['code_facture'])){

  $vat_arrays[] = get_vat_array($C['code_facture']);

}

$resCA = query("SELECT *

  FROM peel_commandes_articles

  WHERE commande_id = '" . intval($C['id']) . "'");

while ($CA = fetch_assoc($resCA)) {

  $paiement = '';

  if ($CA['quantite'] != 0) {

   $id = $C['id'];

   $article = htmlspecialchars_decode_compat_php4(html_entity_decode_if_needed($CA['nom_produit']), ENT_QUOTES);

   $produit_id = htmlspecialchars_decode_compat_php4(html_entity_decode_if_needed($CA['produit_id']), ENT_QUOTES);

   $couleur_id = htmlspecialchars_decode_compat_php4(html_entity_decode_if_needed($CA['couleur_id']), ENT_QUOTES);

   $taille_id = htmlspecialchars_decode_compat_php4(html_entity_decode_if_needed($CA['taille_id']), ENT_QUOTES);

   $transport_id = htmlspecialchars_decode_compat_php4(html_entity_decode_if_needed($CA['transport_id']), ENT_QUOTES);

   $quantite = $CA['quantite'];


   $paiement = $C['paiement'];

   $elem = $id . "\t" . $date_vente . "\t" . $nom_acheteur . "\t" . $adresse . "\t" . $ville . "\t" . $code_postal ."\t" . $pays ."\t" . $produit_id ."\t" . $couleur_id ."\t" . $taille_id ."\t" . $article ."\t" . $quantite . "";

   $elem .= "\t" . $paiement;



   $i++;

  }

  echo "$elem\r\n";

}

}


function fxsl($chaine)

{

$chaine = str_replace(".", ",", $chaine);

return $chaine;

}

Est-ce que vous pouvez m'aider car je ne sais pas comment repecher ces infos avec php..?

Merci,

Slab

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

quel est la version de PEEL que vous utilisez?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Peel_premium 5.71 comme d'hab :-)

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour slab,

Dans un premier temps, il faut que vous ajoutiez les noms des colonnes que vous voulez ajouter à la ligne 53. Ensuite, à l'intérieur de la boucle while ($C = fetch_assoc($resC)) {, il faut faire les requêtes nécessaire pour aller chercher les bonnes informations à partir des données de la commandes. Renseigner des nouvelles variables avec ces données.

Il faut ensuite ajouter ces données en les concaténant à la suite comme ceci :


$elem .= "\t" . $paiement;
$elem .= "\t" . fxsl($iso_pays);
$elem .= "\t" . fxsl($code_facture);
$elem .= "\t" . fxsl($prix_produit);
$elem .= "\t" . fxsl($id_types);
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Merci beaucoup.

Le faite que les données par ex: iso_pays se trouve dans une autre table ne s'affichent pas dans mon export (j'ai la colonne mais pas de données dedans)

je suppose que je dois le renseigner ici:


$sqlC = "SELECT *

FROM peel_commandes

WHERE id_ecom = '" . intval($GLOBALS['site_parameters']['id']) . "' AND TO_DAYS(o_timestamp) >= TO_DAYS('" . nohtml_real_escape_string($_GET["dateadded1"]) . "') AND TO_DAYS(o_timestamp) <= TO_DAYS('" . nohtml_real_escape_string($_GET["dateadded2"]) . "') ".$extra_sql."

ORDER BY o_timestamp";

Mais comment?

Merci d'avance,

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

le plus simple est de créer une requête à chaque fois. Pour le code iso, cela donne :


$q = query('SELECT iso FROM peel_pays WHERE pays_fr = "' . intval($C['pays']) .'"');
$result = fetch_assoc($q);
$iso_pays = $result['iso'];
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping