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 :

Exécuter deux "While" sur une même requete


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Par défaut Exécuter deux "While" sur une même requete
    Bonjour,

    J'essaie de faire un graphique avec le module PChart, mais je transforme le code pour le rendre compatible avec une base de données.

    Au départ, il y a:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"UTL");
    $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"UCP");
    $MyData->setAxisName(0,"Hits");
    $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"Months");
    Mais pour moi, les valeur sont dans une base de données, j'ai donc créer deux requetes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $panne_1 = $bdd->query('SELECT * FROM ca_nb_panne WHERE Num_2=0');
    $panne_1 = $bdd->query('SELECT * FROM ca_nb_panne where Num_2!=0');
    et je fais en sorte que les résultats s'affiche dans un fichier au même format que si dessous:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $fp = fopen("stat_nb_dfo_1.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    	while ($donnees_1 = $panne_1->fetch())
    	{
    		fwrite($fp, $donnees_1['Nb_panne'] . ",");
    	}
    	fwrite($fp, "),\"1\");?>");
    	fclose($fp);
    mais lorsque je mes deux boucles while, l'une apres l'autre en rapport avec la même requete, le résultat ne s'inscrit quand dans un fichier

    Voici un extrait de mon code complet:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    	include('connexion.php');
    	$panne_1 = $bdd->query('SELECT * FROM ca_nb_panne WHERE Num_2=0');
    	$panne_2 = $bdd->query('SELECT * FROM ca_nb_panne where Num_2!=0');
     
    //Creation d'un fichier pour le nombre de defaut
    $fp = fopen("stat_nb_dfo_1.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    	while ($donnees_1 = $panne_1->fetch())
    	{
    		fwrite($fp, $donnees_1['Nb_panne'] . ",");
    	}
    	fwrite($fp, "),\"1\");?>");
    	fclose($fp);
     
     
    //Creation d'un fichier pour l'axe des ordonnées qui affiche le numéro
    $fp = fopen("stat_affiche_1.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    	while ($donnees_1 = $panne_1->fetch())
    	{
    		fwrite($fp, $donnees_1['Num_1'] . ",");
    	}
    	fwrite($fp, "),\"No 1\");?>");
    	fclose($fp);
     
     
    //Creation d'un fichier pour le nombre de defaut
    $fp = fopen("stat_nb_dfo_2.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
    
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    	while ($donnees_2 = $panne_2->fetch())
    	{
    	fwrite($fp, $donnees_2['Nb_panne'] . ",");
    	}
    fwrite($fp, "),\"2\");?>");
    fclose($fp);
    comment faire pour que les deux boucles s'exécutent et inscrivent les résultats dans les fichiers (qui eux sont bien créés automatiquements) ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Alerte police du PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ($donnees_1 = $panne_1->fetch())
    	{
    		$nbPanne[] = $row['Nb_panne'];
                    $Num1[] = $row['Num_1'];
    	}
    $MyData->addPoints($nbPanne,"UTL");
    Je n'ai par contre pas bien compris ce que tu voulais faire avec ce Num_1
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Par défaut
    Je souhaite, récupérer les valeurs de ma base et les mettre dans les lignes " $MyData->addPoints(array( " afin de pouvoir générer un graphique

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Pour ça je suis bien d'accord et je t'ai répondu.

    Mais dans ton premier de départ on "UTL" et "UCP" et dans ta tentative on a "1", "No 1" et "2".
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 120
    Par défaut
    J'avais modifier mes variables, voici le code que j'avais utilisé:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    include('connexion.php');
    	$panne_1 = $bdd->query('SELECT * FROM ca_nb_panne WHERE Num_2=0');
    	$panne_2 = $bdd->query('SELECT * FROM ca_nb_panne where Num_2!=0');
     
    //Creation d'un fichier pour le nombre de defaut//
    $fp = fopen("stat_nb_dfo_1.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement//
    	while ($donnees_1 = $panne_1->fetch())
    	{
    		fwrite($fp, $donnees_1['Nb_panne'] . ",");
    	}
    	fwrite($fp, "),\"No 1\");?>");
    	fclose($fp);
     
     
    //Creation d'un fichier pour l'axe des ordonnées qui affiche le numéro//
    $fp = fopen("stat_affiche_1.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement//
    	while ($donnees_1 = $panne_1->fetch())
    	{
    		fwrite($fp, $donnees_1['Num_1'] . ",");
    	}
    	fwrite($fp, "),\"No 1b\");?>");
    	fclose($fp);
     
     
    //Creation d'un fichier pour le nombre de defaut
    $fp = fopen("stat_nb_dfo_2.php","w+");
    fwrite($fp, "<?php \$MyData->addPoints(array(");
     
    // on fait une boucle qui va faire un tour pour chaque enregistrement
    	while ($donnees_2 = $panne_2->fetch())
    	{
    	fwrite($fp, $donnees_2['Nb_panne'] . ",");
    	}
    fwrite($fp, "),\"No 2\");?>");
    fclose($fp);
    le code tel que je voudrais qu'il soit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $MyData->addPoints(array(150,220,300,-250,-420,-200,300,200,100),"No 1");
    $MyData->addPoints(array(140,0,340,-300,-320,-300,200,100,50),"No 1b");
    $MyData->setAxisName(0,"Hits");
    $MyData->addPoints(array("January","February","March","April","May","Juin","July","August","September"),"No 2");

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fwrite($fp, "<?php \$MyData->addPoints(array(");
    Pourquoi tu ouvres des balises PHP à l'intérieur du code PHP ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

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

Discussions similaires

  1. [ODS HTML] Mettre deux graphiques côte à côte sur une même page
    Par mamclarss dans le forum ODS et reporting
    Réponses: 4
    Dernier message: 23/07/2012, 10h40
  2. Réponses: 3
    Dernier message: 03/09/2009, 09h48
  3. Faire deux défilements d'images sur une même page
    Par ndsaerith dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/09/2007, 18h42

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