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

PHP & Base de données Discussion :

array dans requête sql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par défaut array dans requête sql
    Bonjour, voici mon problème:

    En fait je dois compter dans ma table le nombre d'enregistrement avec des conditions.

    Pour faire des stats je souhaite diviser ce nombre par '$km' et le multiplier par 1 million.

    De ce fait je veut récuprer le nombre de kilometre que cela ne retourne rien.

    Mon array $mois ne retourne rien, si je met par ex: JAN ou FEV comme janvier et février sa me retourne bien quelque chose, mais tous les mois a la valeur de JAN ou FEV...
    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
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
     
    <?php
    require_once('../connexion/connexion.php');
    mysql_query("SET NAMES UTF8");
    mysql_select_db($database, $bd_inter);
     
        $mois  = array(1=>'JAN', 'FEV', 'MAR', 'AVR', 'MAI', 'JUI', 'JUL', 'AOU', 'SEP', 'OCT', 'NOV', 'DEC');
    $id = $_GET['annee'];
    $type_serie = $_GET['serie'];
     
    if($type_serie=='tous'){
    	$serie = 'AND (serie="56" OR serie="88")';
    }
    if($type_serie=='88'){
    	$serie = 'AND (serie="88")';
    }
    if($type_serie=='56'){
    	$serie = 'AND (serie="56")';	
    }
     
    // **********************************************
    // Extraction des données dans la base de données
    // *************************************************
    $sql = "SELECT  
    		MONTH(date_si) AS MOIS,
    		COUNT(*) AS NBR
            FROM fem
    	WHERE 
    	YEAR(date_si) = '$id'  
    	AND serie !=''
    	$serie 	
    	GROUP BY MOIS";
     
    $sql4 = "select * from stats where annee='$id' and mois='$mois'";
    $req4 = mysql_query($sql4)or die('Erreur SQL !'.$sql4.'<br>'.mysql_error());
    while($row4 = mysql_fetch_array($req4)) 
    {
    	if($type_serie=='tous'){
    	$km = $row4['56']+$row4['88'];	
    	}
    }
    //print_r ($mois);
     
    $result= mysql_query($sql)or die("erreur sur requete:" . mysql_error());
    while ($row_type_serie = mysql_fetch_array($result)) {
    	$tab_tous[$row_type_serie['MOIS']-1] = round(($row_type_serie['NBR']/$km)*1000000,2);
     
    }	
    ?>
    <html>
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8;">
    <link rel="stylesheet" type="text/css" href="../css/view.css">
    <script type="text/javascript" src="../function/view.js"></script>
    <script type="text/javascript" src="../function/ajaxstats.js"></script>
    <script type="text/javascript" src="../function/jquery-1.9.1.js"></script>
    		<script type="text/javascript">
    $(function () {
        var chart;
        $(document).ready(function() {
            chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'container',
                    type: 'column'
                },
                xAxis: {
                    categories: [
                        'Jan',
                        'Fev',
                        'Mar',
                        'Avr',
                        'Mai',
                        'Jun',
                        'Jul',
                        'Aou',
                        'Sep',
                        'Oct',
                        'Nov',
                        'Dec'
                    ]
                },
                yAxis: [{ // Primary yAxis
    			gridLineWidth: 0,
                    labels: {
                        formatter: function() {
                            return this.value +' E';
                        },
                        style: {
                            color: '#89A54E'
                        }
                    },
                    title: {
                        text: 'Objectif',
                        style: {
                            color: '#89A54E'
                        }
                    }
                }, { // Secondary yAxis
                    title: {
                        text: 'Nbr E',
                        style: {
                            color: '#4572A7'
                        }
                    },
                    labels: {
                        formatter: function() {
                            return this.value +' E';
                        },
                        style: {
                            color: '#4572A7'
                        }
                    },
                    opposite: true
                }],
                tooltip: {
                    formatter: function() {
                        return ''+
                            this.x +': '+ this.y +
                            (this.series.name == 'Nombre d\'E' ? ' OBJ' : ' E');
                    }
                },
                legend: {
                    layout: 'vertical',
                    backgroundColor: '#FFFFFF',
                    align: 'left',
                    verticalAlign: 'top',
                    x: 100,
                    y: 30,
                    floating: true,
                    shadow: true
                },
                    series: [
    				{name: 'Objectif',type: 'spline', data: [<?php echo ($obj);?>],marker: {enabled: false},dashStyle: 'shortdot'},
     
    			<?php if(join($tab_tous)>0){
    				?>
    				{name: '<?php echo $type_serie?>', data: [<?php echo join(',', $tab_tous);?>]}
    			<?php
    			}?>
     
    			]
            });
        });
     
    });
    		</script>
    ?>

  2. #2
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Par défaut
    Peux tu afficher ce que tu obtiens avec un print_r ?

    As tu testé tes requêtes dans PHP MY ADMIN?

    Tu es trop vague. Donnes + d'éléments

    Arrêtez de travailler avec mysql_query (cela date de Pol Pot) et utilisez mysqli ou PDO.

    Voici le lien:

    http://php.net/manual/fr/book.mysqli.php

    Dans 1 an, vous allez devoir repasser derrière tous vos clients!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par défaut
    non je n'ai pas testé dans phpmyadmin

    tu veut le print_r de $mois?
    a quel niveau?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par défaut
    Mon print_r mis en commentaire au dessus retourne ceci :

    Array ( [1] => JAN [2] => FEV [3] => MAR [4] => AVR [5] => MAI [6] => JUI [7] => JUL [8] => AOU [9] => SEP [10] => OCT [11] => NOV [12] => DEC )
    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117

    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117

    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117

    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117

    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117

    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117

  5. #5
    Membre confirmé
    Homme Profil pro
    Webmaster
    Inscrit en
    Juin 2010
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cambodge

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juin 2010
    Messages : 221
    Par défaut
    Bonjour

    et tu as quoi comme code?

    Warning: Division by zero in /Applications/XAMPP/xamppfiles/htdocs/09_Base /stats/home.php on line 117
    - Fais tes requetes dans PHP my Admin.
    - Regardes les résultats que ce te sort.
    - Mets toi en mode DEBUG pour plus de compréhension avec ceci:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if($debug == 1){
        echo("<pre style=\"font-size:14px;float:left\">") ;
        print_r($_POST) ;
        print_r($_GET);
        print_r($_SESSION) ;
        print_r($_FILES) ;
        echo("</pre>\n") ;  
    }

    - Concatène tes chaines de caractères dans tes requêtes.
    - Un entier une un chaine ne se traite pas de la même façon:

    On ne fait pas:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $type_serie=='88';
    $sql4 = "select * from stats where annee='$id' and mois='$mois'";

    Mais on fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $type_serie==88;
    $sql4 = "SELECT seulement-tes-champs-dont-tu-as besoin FROM stats WHERE annee=".$id." AND mois='".$mois."'";
    - Si dans ta base de données, tu as mis ce champ ($id) en TEXT ou en VACHAR, c'est une erreur.
    - Utilise MYSQLI

    Voilà. Tu as des éléments pour déjà améliorer tout cela. Reviens vers nous quand tu as des éléments concrets afin que l'on puisse t'aider correctement.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 41
    Par défaut
    Merci je vais tester tous sa.
    Déjà premier problème mon champs mois en un VARCHAR

Discussions similaires

  1. [MySQL] Introduire une variable dans requête SQL, insérer des données à la volée
    Par Ronan.f dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 29/04/2006, 22h10
  2. [VB6]Fonction dans requête SQL Access
    Par jean-pierre96 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/04/2006, 19h44
  3. TEdit.Text dans Requête SQL?!?
    Par zarbydigital dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/10/2005, 09h37
  4. [Visual Web] [SJSC] Concaténation dans requête SQL
    Par Original Prankster dans le forum NetBeans
    Réponses: 22
    Dernier message: 15/08/2005, 14h50
  5. ASP et valeur NULL dans requêtes SQL
    Par chuck_m dans le forum ASP
    Réponses: 7
    Dernier message: 13/08/2004, 11h15

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