Bienvenue invité ( Connexion | Inscription )
![]() ![]() |
15 May 2009, 11:32
Message
#1
|
|
|
Ceinture marron OSC 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"> <?php echo $geburtstag['customers_firstname']; ?></td> <td width="100" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?php echo $geburtstag['customers_lastname']; ?></td> <td width="100" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?php echo $sex; ?></td> <td width="100" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?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); -------------------- OSC 2.1.3 et MS2 (PHP Version 5.2.17)
|
|
|
15 May 2009, 13:16
Message
#2
|
|
![]() 2eme dan OSC 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 |
|
|
15 May 2009, 13:24
Message
#3
|
|
|
Ceinture marron OSC 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"> <?php echo $geburtstag['customers_firstname']; ?></td> <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?php echo $geburtstag['customers_lastname']; ?></td> <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?php echo $sex; ?></td> <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?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)
|
|
|
15 May 2009, 13:34
Message
#4
|
|
![]() 2eme dan OSC 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 -------------------- 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 |
|
|
15 May 2009, 13:44
Message
#5
|
|
|
Ceinture marron OSC 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"> <?php echo $geburtstag['customers_firstname']; ?></td> <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?php echo $geburtstag['customers_lastname']; ?></td> <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?php echo $sex; ?></td> <td width="100" align="center" valign="middle" bgcolor="#F0F1F1" class="smallText"> <?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)
|
|
|
15 May 2009, 13:52
Message
#6
|
|
![]() 2eme dan OSC 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
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 |
|
|
15 May 2009, 14:13
Message
#7
|
|
|
Ceinture marron OSC Groupe : Membres Messages : 1423 Inscrit : 24-April 03 Membre no 1102 |
Arf quel Nanare je fait, il fallait changer en $geburtstag['customers_id']
Encore merci Shoprun. -------------------- OSC 2.1.3 et MS2 (PHP Version 5.2.17)
|
|
|
16 May 2009, 20:45
Message
#8
|
|
|
Ceinture jaune+ OSC 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): 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)
Citation ça va, ça vient..., c'est comme la queue du chien... |
|
|
23 May 2009, 18:13
Message
#9
|
|
|
Ceinture jaune+ OSC Groupe : Membres Messages : 116 Inscrit : 2-May 09 Lieu : midi pyrennées Membre no 25231 |
-------------------- 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): 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)
Citation ça va, ça vient..., c'est comme la queue du chien... |
|
|
23 May 2009, 18:30
Message
#10
|
|
|
Ceinture marron OSC Groupe : Membres Messages : 1423 Inscrit : 24-April 03 Membre no 1102 |
héhé temps mieux !!
-------------------- OSC 2.1.3 et MS2 (PHP Version 5.2.17)
|
|
|
![]() ![]() |
|
Version bas débit | Nous sommes le : 21st May 2013 - 23:02 |
| Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |