osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Un birthday.php modifié ?, Comment ajouter le nombre de commande passé ?
polo
posté 15 May 2009, 11:32
Message #1


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1423
Inscrit : 24-April 03
Membre no 1102



Bonjour,


Voila j'ai réussi à réaliser à partir de la contrib "birthday.php" un tableau dont j'ai ajouté l'age du client, donc ce qui donne nom, prénom, sexe et age..

Par contre je voudrais ajouter une colonne "nombre de commande passé" voici le code que j'ai déjà fait:


le query:

Code
$geburtstags_query = tep_db_query("SELECT customers_email_address, customers_dob, customers_firstname, customers_id, customers_gender, customers_lastname FROM " . TABLE_CUSTOMERS . " WHERE MONTH(customers_dob) = MONTH(DATE_ADD(NOW(),INTERVAL 0 MONTH)) ORDER BY DAYOFMONTH(customers_dob)");

while ($geburtstag = tep_db_fetch_array($geburtstags_query)){
$gender = $geburtstag['customers_gender'];


if ($gender == 'm') {
$sex = 'Monsieur';
         } else {
$sex = 'Madame';
         }



ensuiite le tableau en lui même:

Code
  <tr align="left">
    
  <td width="100" valign="middle" bgcolor="#F0F1F1" class="main">&nbsp;<?php echo $geburtstag['customers_firstname']; ?></td>
  <td width="100" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo $geburtstag['customers_lastname']; ?></td>
  <td width="100" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo $sex; ?></td>
  <td width="100" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo substr(strftime(DATE_FORMAT_SHORT),6,4) - substr($geburtstag['customers_dob'],0,4); ?></td>
  
<td width="100" valign="middle" bgcolor="#F0F1F1" class="main"><?php echo $geburtstag['customers_email_address']; ?></td>
<td width="100" valign="middle" bgcolor="#F0F1F1" class="main"><?php echo $geburtstag['count(*)']; ?></td>
                </tr>
                <?php
      }
?>


Voila c'est justement ici:
Code
<?php echo $geburtstag['count(*)']; ?>


Comment ajouter l'instruction "count" dans mon query ?

Le query qui m'inspire est celui ci mais j'arrive pas à l'adapter :
Code
            $cusomers_order_count_query_raw = "select count(*) from orders where customers_id = " . $customers['customers_id'];
              $customers_order_query = tep_db_query($cusomers_order_count_query_raw);
              $order_count = tep_db_fetch_array($customers_order_query);


blush.gif


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
shoprun
posté 15 May 2009, 13:16
Message #2


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



Salut

Code
$cusomers_order_count_query_raw = "select count(*) from orders where customers_id = " . $customers['customers_id'];
Faudrait lui donner un nom je pense.

Comme ceci par exemple puis y mettre le nom du champ "orders_id" c'est pas plus mal nom plus, de même que typer (int) le $customers['customers_id'] :
Code
$cusomers_order_count_query_raw = "select count(orders_id) AS totCmd from orders where customers_id = '" . (int)$customers['customers_id']."' ";
Après, suffit d'exploiter cette donnée :
Code
$customers_order_query = tep_db_query($cusomers_order_count_query_raw);
$order_count = tep_db_fetch_array($customers_order_query);
echo 'Total commande : '.$order_count['totCmd'];


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
polo
posté 15 May 2009, 13:24
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1423
Inscrit : 24-April 03
Membre no 1102



Salut Shoprun,


Donc merci pour ton code, j'ai donc mis comme ceci:



Code
      
$geburtstags_query = tep_db_query("SELECT customers_email_address, customers_dob, customers_firstname, customers_id, customers_gender, customers_lastname FROM " . TABLE_CUSTOMERS . " WHERE MONTH(customers_dob) = MONTH(DATE_ADD(NOW(),INTERVAL 0 MONTH)) ORDER BY DAYOFMONTH(customers_dob)");

$cusomers_order_count_query_raw = "select count(*) AS totCmd from orders where customers_id = " . (int)$customers['customers_id'];
$customers_order_query = tep_db_query($cusomers_order_count_query_raw);
$order_count = tep_db_fetch_array($customers_order_query);
    
    
while ($geburtstag = tep_db_fetch_array($geburtstags_query)){
$gender = $geburtstag['customers_gender'];


if ($gender == 'm') {
$sex = 'Monsieur';
         } else {
$sex = 'Madame';
         }
         ////
?>
  <tr align="left">
    
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="main">&nbsp;<?php echo $geburtstag['customers_firstname']; ?></td>
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo $geburtstag['customers_lastname']; ?></td>
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo $sex; ?></td>
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo substr(strftime(DATE_FORMAT_SHORT),6,4) - substr($geburtstag['customers_dob'],0,4); ?></td>
  
<td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="main"><?php echo $geburtstag['customers_email_address']; ?></td>
<td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="main"><?php echo $order_count['totCmd']; ?></td>
                </tr>
                <?php
      }
?>


J'ai "0" dans le nombre des commande donc ç passe pas, par contr je ne doit pas utiliser $geburtstag ? comme :
Code
<?php echo $geburtstag['totCmd']; ?>


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
shoprun
posté 15 May 2009, 13:34
Message #4


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



A mon avis il faut que la requête se fasse dans la boucle du while ($geburtstag = tep_db_fetch_array($geburtstags_query)), car le $customers['customers_id'] est une variable inconnue.

Comme ceci je pense :
Code
while ($geburtstag = tep_db_fetch_array($geburtstags_query)) {
    // Recherche le nombre de commande
    $cusomers_order_count_query_raw = "select count(orders_id) AS totCmd from orders where customers_id = '" . (int)$geburtstag['customers_id']."' ";
    $customers_order_query = tep_db_query($cusomers_order_count_query_raw);
    $order_count = tep_db_fetch_array($customers_order_query);
    //

  $gender = $geburtstag['customers_gender'];
  ... code etc ...

}

Ceci dit, cette 2ème requête peut se fusionner dans la 1er pour en faire une seul. Pour cela faut faire les jointure + un GROUP BY sur le customers_id.
M'enfin, déjà vois si c'est bon en 2 requêtes wink.gif


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
polo
posté 15 May 2009, 13:44
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1423
Inscrit : 24-April 03
Membre no 1102



Oui c'est ce que j'ai essayer de faire aussi mais la j'ai un peu de mal pour la fusion,

Sinon j'ai fais ceci donc:
Code
$geburtstags_query = tep_db_query("SELECT customers_email_address, customers_dob, customers_firstname, customers_id, customers_gender, customers_lastname FROM " . TABLE_CUSTOMERS . " WHERE MONTH(customers_dob) = MONTH(DATE_ADD(NOW(),INTERVAL 0 MONTH)) ORDER BY DAYOFMONTH(customers_dob)");

    
while ($geburtstag = tep_db_fetch_array($geburtstags_query)){
$gender = $geburtstag['customers_gender'];

$cusomers_order_count_query_raw = "select count(*) AS totCmd from orders where customers_id = " . (int)$customers['customers_id'];
$customers_order_query = tep_db_query($cusomers_order_count_query_raw);
$order_count = tep_db_fetch_array($customers_order_query);

$nbrecmd = $order_count['totCmd'];


if ($gender == 'm') {
$sex = 'Monsieur';
         } else {
$sex = 'Madame';
         }
         ////
?>
  <tr align="left">
    
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="main">&nbsp;<?php echo $geburtstag['customers_firstname']; ?></td>
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo $geburtstag['customers_lastname']; ?></td>
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo $sex; ?></td>
  <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText">&nbsp;<?php echo substr(strftime(DATE_FORMAT_SHORT),6,4) - substr($geburtstag['customers_dob'],0,4); ?></td>
  
<td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="main"><?php echo $nbrecmd; ?></td>
<td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="main"><?php  ?></td>
                </tr>
                <?php
      }
?>


Mais çà m'affiche toujours "0" pour les commandes.


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
shoprun
posté 15 May 2009, 13:52
Message #6


2eme dan OSC
Icône de groupe

Groupe : Membres VIP
Messages : 3712
Inscrit : 11-April 07
Lieu : Ile de la Réunion
Membre no 16487



Tu n'as pas bien observé la requête wacko.gif

Remplace $customers['customers_id'] par $geburtstag['customers_id']


--------------------
Nous ne sommes pas un Service Après-Vente ni une Hot-Line !!!, et pas de "UP" et de doublon svp ...
Prenez le temps de lire les informations mises à votre dispositions avant de créer un sujet.
Démarrer du bon pied -> Bien utiliser les forums | Bien poser sa question | Règles d'usage des forums
Prés-Requis -> Les compétences requises pour réussir avec osCommerce
Docs / Infos -> LA FAQ | Rechercher | Contributions | Contribution US
Sujets épinglés -> Manuel d'utilisation MS2 | Structure OsC2.2 MS2 | ms2-fr-rc1-w3c | SSL : une obligation? | Design de la MS2 | Tutoriels CSS | Optimisez les performances de votre boutique | Taux de TVA à appliquer
Utile -> WampServer | EasyPhp | Xampp | Mamp - Ftp -> FileZilla
Apprendre -> siteduzero | alsacreations | apprendre-php | developpez.com
Go to the top of the page
 
polo
posté 15 May 2009, 14:13
Message #7


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1423
Inscrit : 24-April 03
Membre no 1102



Arf quel Nanare je fait, il fallait changer en $geburtstag['customers_id'] blush.gif


Encore merci Shoprun. smile.gif


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 
Philblm
posté 16 May 2009, 20:45
Message #8


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 116
Inscrit : 2-May 09
Lieu : midi pyrennées
Membre no 25231



Salut.
Tout ça a l'air bien intéressent, mais, petite ceinture blanche à tout les niveaux, je ne sais pas comment on peut intégrer ce bout de code dans la page "birthday.php".
Si jamais vous avez le temps, je prend...
Merci d'avance.


--------------------
oscommerce-2.2rc1-FR-w3c-3
Version PHP : PHP Version 5.2.8-Icodia.01
Base de données : MySQL 4.1.24-log
Serveur HTTP : IcodiaSecureHttpd (Apache)

Navigateurs : Firefox - EI - Safari - Opéra - Mozilla - Netscape -

Contributions (sur site bientôt en ligne):
  1. FCKeditor 2.6.4
  2. PageEditor v1.6 + FCKeditor
  3. Birthdays v1.2
  4. Manbox 1 2
  5. Header Tags SEO v3.0.7
  6. css menu
  7. minimum order total
  8. COLISSIMO POUR OSCOMMERCE V1.7
  9. newsletter products v2.3
  10. MATC v2.3.1
  11. pdf customer invoice v1.1+Admin Access (merci à Sylvie)
  12. freecount
  13. Flash carousel 3.2_1
  14. ot discount coupon codes 3.3 fr
  15. SPPLUS_OSC-MS2
Contributions (sur site pilote): (si jamais vous aviez des solutions aux erreurs ci-dessous... contactez moi par MP, on en ferra un post si nécessaire)
  1. FCKeditor 2.6.4
  2. DEFINE MAINPAGE v1.3 osCommerce UPDATED FOR MS2 2.2
  3. Newsletter products (2.2MS2) v. 2.25
  4. COLISSIMO POUR OSCOMMERCE V1.7
  5. Print Order Receipt v1.5
  6. Export Orders vers csv.V2.0
  7. PageEditor v1.6 + FCKeditor intégré (merci à LeorLindel)
  8. Color Swatches (merci à Greuter)
  9. Birthdays v1.2
  10. Admin dhtml menu v2.2 (installé, mais désactivé - clique sur "Configuration" sans effet)
  11. Flash carousel 3.2_1 (fonctionne dans les catégories, mais pas sur la page d'acceuil-Problème intégration avec "DEFINE MAINPAGE v1.3"??-mis dans le "header"=ok)
  12. Paps v.0.8.1 osc (si juste "Attributs produits" et pas "Attributs image", erreur sur page produit >> "Notice: Undefined offset: 0 in paps_delegate.php on line 47"-ne fonctionne pas sous"Opéra")
  13. Manbox 1 2
  14. Loginbox Best
  15. Events Calendar for 2.2 MS2 (fonctionne en admin - affiche une box vide côté client)
  16. Thumb bar Tootip (affiche une erreur au dessus du titre de la box >> "Notice: Undefined index: page in thumb_bar.php on line 70")
  17. Header Tags SEO v3.0.7
  18. minimum order total (Minimum Amount To Make The Order)
  19. css menu v0.4.1.1
  20. pdf customer invoice v1.3 (version du 2 mars 2009)
  21. freecount
  22. Boutique Online/Offline
  23. ot discount coupon codes 3.3 fr
Citation
ça va, ça vient..., c'est comme la queue du chien...
Go to the top of the page
 
Philblm
posté 23 May 2009, 18:13
Message #9


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 116
Inscrit : 2-May 09
Lieu : midi pyrennées
Membre no 25231



Salut!

Du coup, j'ai installé "Birthdays_v1.2" (ici), et elle fonctionne très bien!!! blush.gif

Bye!


--------------------
oscommerce-2.2rc1-FR-w3c-3
Version PHP : PHP Version 5.2.8-Icodia.01
Base de données : MySQL 4.1.24-log
Serveur HTTP : IcodiaSecureHttpd (Apache)

Navigateurs : Firefox - EI - Safari - Opéra - Mozilla - Netscape -

Contributions (sur site bientôt en ligne):
  1. FCKeditor 2.6.4
  2. PageEditor v1.6 + FCKeditor
  3. Birthdays v1.2
  4. Manbox 1 2
  5. Header Tags SEO v3.0.7
  6. css menu
  7. minimum order total
  8. COLISSIMO POUR OSCOMMERCE V1.7
  9. newsletter products v2.3
  10. MATC v2.3.1
  11. pdf customer invoice v1.1+Admin Access (merci à Sylvie)
  12. freecount
  13. Flash carousel 3.2_1
  14. ot discount coupon codes 3.3 fr
  15. SPPLUS_OSC-MS2
Contributions (sur site pilote): (si jamais vous aviez des solutions aux erreurs ci-dessous... contactez moi par MP, on en ferra un post si nécessaire)
  1. FCKeditor 2.6.4
  2. DEFINE MAINPAGE v1.3 osCommerce UPDATED FOR MS2 2.2
  3. Newsletter products (2.2MS2) v. 2.25
  4. COLISSIMO POUR OSCOMMERCE V1.7
  5. Print Order Receipt v1.5
  6. Export Orders vers csv.V2.0
  7. PageEditor v1.6 + FCKeditor intégré (merci à LeorLindel)
  8. Color Swatches (merci à Greuter)
  9. Birthdays v1.2
  10. Admin dhtml menu v2.2 (installé, mais désactivé - clique sur "Configuration" sans effet)
  11. Flash carousel 3.2_1 (fonctionne dans les catégories, mais pas sur la page d'acceuil-Problème intégration avec "DEFINE MAINPAGE v1.3"??-mis dans le "header"=ok)
  12. Paps v.0.8.1 osc (si juste "Attributs produits" et pas "Attributs image", erreur sur page produit >> "Notice: Undefined offset: 0 in paps_delegate.php on line 47"-ne fonctionne pas sous"Opéra")
  13. Manbox 1 2
  14. Loginbox Best
  15. Events Calendar for 2.2 MS2 (fonctionne en admin - affiche une box vide côté client)
  16. Thumb bar Tootip (affiche une erreur au dessus du titre de la box >> "Notice: Undefined index: page in thumb_bar.php on line 70")
  17. Header Tags SEO v3.0.7
  18. minimum order total (Minimum Amount To Make The Order)
  19. css menu v0.4.1.1
  20. pdf customer invoice v1.3 (version du 2 mars 2009)
  21. freecount
  22. Boutique Online/Offline
  23. ot discount coupon codes 3.3 fr
Citation
ça va, ça vient..., c'est comme la queue du chien...
Go to the top of the page
 
polo
posté 23 May 2009, 18:30
Message #10


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1423
Inscrit : 24-April 03
Membre no 1102



héhé temps mieux !! cool.gif


--------------------
OSC 2.1.3 et MS2 (PHP Version 5.2.17)
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 19th May 2013 - 07:37
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)