Posté(e) 5 oct. 2011 · Signaler ce message Bonjour, Dans la fonction export des ventes (modules/export/administrer/export_ventes.php , je voudrais ajouter les champs suivants:"iso" de la table "pays" (car sinon le pays s'affiche dans la langue du client)Le "code_facture" de la "table commandes " afin de créer le lien vers la facture pour l'imprimer sans passer par le back officeLe "prix" du produit de la table "commandes_articles" (le "prix" est bien le prix brut ttc - remise et code promo calculé?)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éro commande\tDate de vente\tNom de l'acheteur\tAdresse\tVille\tCode postal\tPays\tProduit_id\tCouleur_id\tTaille_id\tArticle\tQuantité\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) 6 oct. 2011 · 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) 6 oct. 2011 · Signaler ce message Peel_premium 5.71 comme d'hab :-) Partager ce message Lien à poster Partager sur d’autres sites
Posté(e) 7 oct. 2011 · 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) 8 oct. 2011 · 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) 10 oct. 2011 · 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