IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

afficher 10 derniers articles les plus vendus


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut afficher 10 derniers articles les plus vendus
    Bonjour,

    J'ai mon site en local qui fonctionne très bien et je l'ai importer chez un hébergeur et la surprise tout fonctionne sauf sur une de mais page ou il ne m'indique pas la liste des 10 derniers articles les plus vendu.

    Avez vous une idée pourquoi en local sa fonctionne et pas chez mon hébergeur ?

    page index.php :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <div class="sales-boxes">
              <div class="recent-sales box">
                <div class="title">Vente recentes</div>
                <?php
                $ventes = getLastVente();           
                ?>
                <div class="sales-details">
                  <ul class="details">
                    <li class="topic">Date</li>
                    <?php
                    foreach ($ventes as $key => $value){
                      ?>
                      <li><a href="#"><?php echo date('d M Y', strtotime($value['date_vente'])) ?></a></li>
                      <?php
                    }
                    ?>
     
                  </ul>
                  <ul class="details">
                    <li class="topic">Client</li>
                    <?php
                    foreach ($ventes as $key => $value){
                      ?>
                      <li><a href="#"><?php echo $value['nom']." ".$value['prenom'] ?></a></li>
                      <?php
                    }
                    ?>
     
                  </ul>
                  <ul class="details">
                    <li class="topic">Article</li>
                    <?php
                    foreach ($ventes as $key => $value){
                      ?>
                      <li><a href="#"><?php echo $value['nom_article']?></a></li>
                      <?php
                    }
                    ?>
     
                  </ul>
                  <ul class="details">
                    <li class="topic">Prix</li>
                    <?php
                    foreach ($ventes as $key => $value){
                      ?>
                      <li><a href="#"><?php echo number_format($value['prix'], 0, ",", " ")." € "?></a></li>
                      <?php
                    }
                    ?>
    ma fonction dans mon fichier function.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function getLastVente()
    {
     
            $sql = "SELECT nom_article, nom, prenom, v.quantite, prix, date_vente, a.id, v.id, a.id AS idArticle
            FROM client AS c, vente AS v, article AS a WHERE v.id_article=a.id AND v.id_client=c.id AND etat=?
            ORDER BY date_vente DESC LIMIT 10";
     
            $req = $GLOBALS['connexion']->prepare($sql);
     
            $req->execute(array(1));
     
            return $req->fetchAll();
    }

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 370
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 370
    Billets dans le blog
    17
    Par défaut
    Ton PHP immergé dans le HTML gagnerait en lisibilité à utiliser la syntaxe alternative et <?= => https://www.php.net/manual/en/contro...ive-syntax.php

    Concernant le SQL, ràs si ce n'est qu'on utilise JOIN pour les jointures, et pas WHERE.


    tout fonctionne sauf sur une de mais page ou il ne m'indique pas la liste des 10 derniers articles les plus vendu.
    Comment ça "les plus vendus" ? Je ne vois que les 10 dernières ventes tout court.

    Dans ton extrait je vois 4 listes, laquelle ne fonctionne pas ? Y'a-t-il un message d'erreur ? Que donne la source HTML produite ?

  3. #3
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Bonjour,

    Merci de votre réponse.

    En effet c'est bien les 10 dernières ventes qui ne s'affiche pas sur ma page d'accueil et pourtant en local sa fonctionne, c'est les 4 listes qui ne fonctionne pas et je ne reçois aucun message d'erreur.
    Je ne comprend pas que cela ne fonctionne pas alors que en local tout est ok.

    Je n'ai également pas de résultat pour Mon " CA "

    Nom : dash.jpg
Affichages : 166
Taille : 65,9 Ko

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 370
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 370
    Billets dans le blog
    17
    Par défaut
    Doit se passer quelque chose avec getLastVente()

    Essaie de simplifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    function getLastVente()
    {
         $sql = <<<SQL
            SELECT nom_article, nom, prenom, v.quantite, prix, date_vente, a.id, v.id, a.id AS idArticle
            FROM client AS c
            INNER JOIN vente AS v ON c.id = v.id_client
            INNER JOIN article AS a ON v.id_article = a.id
            WHERE etat = 1
            ORDER BY date_vente DESC
            LIMIT 10
            SQL;
     
            $req = $GLOBALS['connexion']->query($sql);
            print_r($pdo->errorInfo());
     
            $data = $req->fetchAll();
            print_r($data);
     
            return $data;
    }

  5. #5
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    J'ai tester sa ne fonctionne pas et j'ai également regarder ma fonction pour mon "CA" et je ne vois pas se qui ne vas pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function getCA()
    {
        $sql = "SELECT SUM(prix) AS prix FROM vente";
     
        $req = $GLOBALS['connexion']->prepare($sql);
     
            $req->execute(array(1));
     
            return $req->fetch();
     
    }
    Mon Schéma :
    Nom : scema.jpg
Affichages : 160
Taille : 230,6 Ko

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 370
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 370
    Billets dans le blog
    17
    Par défaut
    J'ai tester sa ne fonctionne pas
    Et les messages de debug ?!

    et j'ai également regarder ma fonction pour mon "CA" et je ne vois pas se qui ne vas pas
    Il n'y a pas de paramètre dans ton SQL, et pourtant tu lui envoies une valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array(1));
    Et inutile de préparer des requêtes exécutées 1 seule fois pendant la session, d'autant plus quand il n'y a pas de paramètres.

  7. #7
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Ton PHP immergé dans le HTML gagnerait en lisibilité à utiliser la syntaxe alternative et <?= => https://www.php.net/manual/en/contro...ive-syntax.php

    Concernant le SQL, ràs si ce n'est qu'on utilise JOIN pour les jointures, et pas WHERE.



    Comment ça "les plus vendus" ? Je ne vois que les 10 dernières ventes tout court.

    Dans ton extrait je vois 4 listes, laquelle ne fonctionne pas ? Y'a-t-il un message d'erreur ? Que donne la source HTML produite ?

    Sa fonctionne à présent j'ai changer prepare en query et tout est ok

    Merci à vous de votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-365] formule pour avoir le top 3 des articles les plus vendus
    Par Oska-Kajal dans le forum Excel
    Réponses: 10
    Dernier message: 24/11/2020, 06h03
  2. Réponses: 9
    Dernier message: 05/05/2015, 17h26
  3. 2 articles les plus vendus par distributeur
    Par marsu15 dans le forum Requêtes
    Réponses: 13
    Dernier message: 31/12/2010, 12h14
  4. [Spip] Tableau non affiché dans la partie "Articles les plus récents"
    Par Gigi95 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 27/09/2007, 13h27
  5. Les articles les plus vendus
    Par sam01 dans le forum Langage SQL
    Réponses: 21
    Dernier message: 19/01/2007, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo