Aide - Recherche - Membres - Calendrier
Version complète : [resolu]Facture et nombre d'articles
Forum osCommerce-fr > Adapter OsCommerce MS2 > Design
Capucine
Bonsoir
j'aimerai voir sur ma facture le nombre total d'articles achetés.

j'ai la requete :
SELECT SUM( products_quantity ) AS Total
FROM orders_products
WHERE orders_id =XXXX

mais je ne sais pas ou ni comment l'intégrer et afficher le resultat.

Merci de votre aide.

Capucine
fissiaux


Ce sont des factures que tu génères à partir de l'admin, ou des factures éditées par le client depuis la boutique ?
Capucine
oups oui pardon.

ce sont des factures que je génère depuis l'admin.

unsure.gif
fissiaux


Tu dois donc intervenir dans le fichier catalog/admin/invoice.php.


(sûrement aussi dans catalog/admin/inlcudes/languages/french/invoice.php et les autres langues pour rajouter un libellé avec la problématique du multi-langues)


Au début, juste après

CODE
 $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
 $orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");


tu peux caser ton ordre sql pour calculer ton nombre d'articles.

Pour l'affichage, c'est un peu à toi de dire où tu veux le mettre mais attention de ne pas le mettre à l'intérieur des 2 boucles for.

Ton code à rajouter aura la tête suivante :

CODE
 <tr>
   <td><table border="0" cellspacing="0" cellpadding="2">
     <tr>
       <td class="main"><b><?php echo NOMBRE_TOTAL_ARTICLES; ?></b></td>
       <td class="main"><?php echo $tavariablecalculeeaudebut; ?></td>
     </tr>
   </table></td>
 </tr>


et donc faire le define('NOMBRE_TOTAL_ARTICLES', ... dans tous les fichies langues invoice.php
Capucine
quand tu dis caser...j'ai du mal à saisir la notion ohmy.gif(

la table utilisée est la table "orders" et quand j'ai rajouté mon "sum"...
normal il ne trouve pas mon champs dans cette table :

1054 - Unknown column 'products_quantity' in 'field list'

select orders_id, SUM( products_quantity ) AS TOT_PROD from orders where orders_id = '6'

et meme en rusant ohmy.gif(

1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause

select orders_id, SUM( products_quantity ) AS TOT_PROD from orders_products where orders_id = '6'
fissiaux


Caser = mettre.

J'avais dit juste après ces 2 lignes, pas à l'interieur de la requete existante. Tu rajoutes une requete juste après.

CODE
$orders_query2 = tep_db_query("select SUM( products_quantity ) AS Total
FROM " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$oID . "'");
Capucine
je dois pas etre doué..
j'ai bien ajouté la requete mais.. quand j'appele ma variable.. rien ne s'affiche sad.gif

mais bon je ne t'embetterais plus pour cette question shock.gif

j'ai rusé :
echo ' <tr class="dataTableRow">' . "\n" .
' <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . '&nbsp;x</td>' . "\n" .
' <td class="dataTableContent" valign="top">' . $order->products[$i]['name'];
$nb_prod = $nb_prod +$order->products[$i]['qty'];

pour chaque ligne affiché je compte le nombre d'articles wink.gif
et pareil à la fin j'appele mon $no_prod.

merci de tes réponses qui m'ont éclairé.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2024 Invision Power Services, Inc.