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

Bibliothèques & Frameworks Discussion :

Reference error : stat_client1 is not defined


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut Reference error : stat_client1 is not defined
    Bonjour,
    J'utilise le plugin Highcharts. Mon but : en fonction de l'utilisateur sélectionné dans une liste déroulante, je charge des données dans mon Highcarts qui lui sont liés (des sommes de chiffres d'affaires par mois en l'occurrence).
    Mon soucis : Mon Ajax me balance une erreur.
    Nom : Capture d’écran de 2019-07-17 14-52-29.png
Affichages : 123
Taille : 3,1 Ko
    Ci-dessous mon code complet :
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <div id="statistiquesclients" class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
    	<div class="modal-dialog modal-lg">
    		<div class="modal-content">
                <div class="modal-header">
                    <div class="row">
                        <div class="form-group col-md-4 col-md-offset-4">
                            <select id="client_stat1" class="form-control mx-sm-3 mb-2" onchange="stat_client1(this.value)">
                                <?php
                                $client = $bdd->prepare('SELECT DISTINCT client_societe, client_id, client_ville
                                    FROM client
                                    WHERE client_contact = :client_contact
                                    ORDER BY client_societe ASC');
                                $client->execute([
                                    ':client_contact' => $_SESSION['Contact_id']
                                ]);
                                echo "<option></option>";
                                while ($data = $client->fetch(PDO::FETCH_ASSOC)) {
                                    echo "<option value=\"{$data['client_id']}\">
                                        {$data['client_societe']}  |  {$data['client_ville']}
                                    </option>";
                                }
                                $client->closeCursor();
                                ?>
                            </select>
                        </div><br />
                    </div>
     
                <div id="client_stat1_request"></div>
                    <div id="statclient"></div>
     
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary btn-lg" data-dismiss="modal" style="margin-right:45%; margin-left:45%;">Fermer</button>
                </div>
            </div>
        </div>
    </div>
     
    <script>
    function stat_client1(statclient1) {
        $.ajax({
            method: "POST",
            url: "modal_header/Editions/ajax/load_customer.php",
            data: { statclient1 : statclient1 }
        })
        .done(function( retour_html ) {
            $("#client_stat1_request").html( retour_html );
        })
        .fail(function() {
            alert( "error statclient_1()" );
        });
    }
     
    $(function () {
        var data_viewer = <?php echo $viewer; ?>;
        var data_date = <?php echo $date; ?>;
     
        $('#statclient').highcharts({
            rangeSelector: {
                selected: 1
            },
            title: {
                text: 'Résultat de votre client Le Corse'
            },
            subtitle: {
                text: 'contact.fr'
            },
            xAxis: {
                categories : data_date
            },
            yAxis: {
                title: {
                    text: 'Chiffre d\'affaire'
                }
            },
            legend: {
                layout: 'vertical',
                align: 'right',
                verticalAlign: 'middle'
            },
            series: [{
                type: 'column',
                name: 'Resultat',
                data: data_viewer
            }]
        })
    });
    </script>

    Mes 2 requêtes visées par l'ajax
    Code php : 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
    <?php include '../../../../Include/connect.php' ; 
     
    $statclient  = (array_key_exists('statclient1', $_POST)) ? $_POST['statclient1']: NULL; 
    if ($statclient) {
     
        $stat = $bdd->prepare('SELECT SUM(facture_montant) as count FROM facture WHERE facture_client = '.$statclient.' GROUP BY MONTH(facture_date) ORDER BY facture_date');
        $stat->execute();
        $viewer = $stat->fetchAll(PDO::FETCH_ASSOC);
        $viewer = json_encode(array_column($viewer, 'count'),JSON_NUMERIC_CHECK); 
     
        $stat2 = $bdd->prepare('SELECT DATE_FORMAT(facture_date, "%Y-%m") as count FROM facture WHERE facture_client = '.$statclient.' GROUP BY MONTH(facture_date) ORDER BY facture_date');
        $stat2->execute();
        $date = $stat2->fetchAll(PDO::FETCH_ASSOC);
        $date = json_encode(array_column($date, 'count'),JSON_NUMERIC_CHECK);   
    }
    ?>

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- client_stat1, statclient, statclient1, stat_client1, statclient_1,...

    Une chatte y perdrait ses petits...
    Mets y un peu plus de rigueur !

    D'autant que tu n'indiques pas à quelle ligne se situe l'erreur.

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         var data_viewer = <?php echo $viewer; ?>;
        var data_date = <?php echo $date; ?>;
    S'il s'agit de chaines, il faut des '...' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        var data_viewer = '<?php echo $viewer; ?>';
        var data_date = '<?php echo $date; ?>';
    CONSEIL : REGARDE TOUJOURS le code HTML généré !

    De même :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            data: { 'statclient1' : statclient1 }

  3. #3
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Janvier 2018
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2018
    Messages : 299
    Points : 67
    Points
    67
    Par défaut
    Merci pour ta réponse!
    Il s'agit de chaînes de caractères en effet, mais au démarrage de ma page je trouve ceci dans ma console:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SyntaxError: '' string literal contains an unescaped line break
    lignes concernées:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
               $(document).ready(function(){
                    function loadingdata() {
                        var data_viewer = '<br />
    <b>Notice</b>:  Undefined variable: viewer in <b>/opt/lampp/htdocs/Contact/Atelier/modal_header/Editions/statistiquesclients.php</b> on line <b>53</b><br />
    ';
                        var data_date = '<br />
    <b>Notice</b>:  Undefined variable: date in <b>/opt/lampp/htdocs/Contact/Atelier/modal_header/Editions/statistiquesclients.php</b> on line <b>54</b><br />
    ';
    ...
    Le fait que le javascript s'execute dès le lancement de la page m'arrange pas, car j'ai pas envie de lancer ma fonction dès le démarrage. J'ai envie qu'elle fonctionne que lors que je lui envois ces 2 variables. Je vais pas les définir, car si je le fais Highcarts va commencer à batir un graphique de lui-même et je veux vraiment pas faire ça. Je veux lui donner MOI-MEME les variables par l'ajax.

    Et lorsque je sélectionne un élément dans ma liste j'ai l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ReferenceError: statcusto is not defined
    je ne t'ai pas donné de n° de ligne car je n'en ai pas. Ma console me donne juste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    statcusto(this.value)
    Si tu as une idée... merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ce sont les variables PHP qui n'existent pas.
    Et, de ce que je comprends, ça n'a RIEN à faire là !

    Et je ne vois pas de quel "script Ajax" tu parles.

    RIEN n'est CLAIR dans tout ça...
    J'ai l'impression de tu codes n'importe quoi, n'importe comment, en priant pour que ça marche !

    Tu essaies de faire de l'horlogerie, avec des moufles, une truelle et une pioche.

    A un moment donné... il faudra bien que TU PRENNES LE TEMPS d'APPRENDRE (les BASES, les SYNTAXES JS/jQuery, Ajax,...), tu ne crois pas ?

Discussions similaires

  1. Requête ajax renvoie error
    Par student_php dans le forum jQuery
    Réponses: 5
    Dernier message: 27/01/2012, 18h48
  2. Mettre en place une sorte "d'ajax referer"
    Par stevensf dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2012, 10h46
  3. jquery ajax crossdomain -> error handling -> delete script
    Par Willpower dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/03/2011, 20h11
  4. [AJAX] ajax parse error
    Par nawfal007 dans le forum AJAX
    Réponses: 6
    Dernier message: 25/09/2010, 17h59
  5. [AJAX] [Method error 500] sur un CascadingDropDown
    Par LaDeveloppeuse dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 25/02/2009, 11h46

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