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 :

[While] Affiché les données ailleurs


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut [While] Affiché les données ailleurs
    Bonjour,

    J'ai une boucle (while) qui récupére des données d'une base de donnée mais j'aimerais afficher ces données en dehors de la boucle afin de créer une variable de session à la fin de la boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    # Synthaxe d'exemple
    1 - connection bdd
    2 - while (récupération des données)
    3 - création variable session
    4 - includes header
    5 - donné de la bouche
    6 - ...
    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
    #Mon code php
    connection();
    $result_row_bu = sql_table('SELECT * FROM nb_bu');
    $row_i_totaux_2 = 0;
    nb_header();
    echo '<h2>Artistes oubli&eacute;s : table associes</h2>';
    echo '<table border="0" class="tablesorter" width="100%">';
     
    	while ($donnees_2 = mysql_fetch_array($result_row_bu))
    	{
    		if($donnees_2['codart'] != '')
    		{	
    			$row_i_totaux_2++;
    			echo '<tr align="left">';
        			echo '<td>'.$row_i_totaux_2.'</td>';
        			echo '<td>'.$donnees_2['codart'].'</td>';
      				echo '</tr>';
     
    			}
    		}
    	}
     
    echo '</table>';
    nb_footer();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # la variable de session à créer
    $_SESSION['session_stats1'] = $row_i_totaux_2;
    Pouvez vous me donnez un coup de main ?

    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Au lieu de faire des echo, tu mets tout dans une variable.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Au lieu de faire des echo, tu mets tout dans une variable.
    Comment faire sachant que ma boucle peut faire plusieur tour ?

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu concatenes en utilisant .= au lieu de =
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Peut on déclarer une variable de session après du code html ?

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    La réponse est oui mais a la limite tu pouvais essayer tout seul.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Oui en effet cela fonctionne mais dans mon cas, n'est pris qu'a l'affichage suivante ce qui m'intéresse pas.

    Cependant je n'arrive pas très bien à comprendre comment mettre mes données dans une variable, sachant que j'en ai plusieurs et que la boucle fait plusieurs tours et ensuite les afficher.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    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
    $row_i_totaux_2 = 0;
    $i = 0;
     
    while ($donnees_2 = mysql_fetch_array($result_row_bu))
    {
    	if($donnees_2['codart'] != '')
    	{	
    		$result_row_i_2 = sql_table('SELECT * FROM nb_associes WHERE codart="'.$donnees_2['codart'].'"');
    		$row_i_2 = mysql_num_rows($result_row_i_2);
    		if($row_i_2 == 0)
    		{
    			$row_i_totaux_2++;
    			$tab[$row_i_totaux_2] = array($row_i_totaux_2, $donnees_2['codart'], $donnees_2[4]);
     
    		}
    	}
    }
     
    #$_SESSION['session_stats1'] = $row_i_totaux_2;
     
    nb_header();
    for ($nombre_de_lignes = 1; $nombre_de_lignes <= $row_i_totaux_2; $nombre_de_lignes++)
    {
    	$i++;
    	for ($numero = 0; $numero < 3; $numero++)
    	{
        	echo $tab[$i][$numero]; // affichera $prenoms[0], $prenoms[1] etc...
        	echo "<br />"; // pour aller à la ligne
    	}
    }
    Il y a t'il moyen d'améliorer mon code ? Merci =]

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Auto correction, une seule boucle for() suffit ! =]

    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
    while ($donnees_2 = mysql_fetch_array($result_row_bu))
    {
        $row_i_totaux_2++;
        $tab[$row_i_totaux_2] = array($row_i_totaux_2, $donnees_2['codart'],         $donnees_2[4]);
     
    }
     
    # ...
     
    for ($i = 1; $i <= $row_i_totaux_2; $i++)
    {	
        echo '<tr align="left">';
        echo '<td>'.$tab[$i][0].'</td>';
        echo '<td>'.$tab[$i][1].'</td>';
        echo '<td>'.$tab[$i][2].'</td>';
        echo '</tr>';
     
    }

  10. #10
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Vu ton dernier code, je vois pas trop l'intérêt du for ensuite, tu peux faire tes echo dans la boucle while

    De plus si tu peux mettre $tab en dernier en session
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par Fench Voir le message
    Bonjour,

    Vu ton dernier code, je vois pas trop l'intérêt du for ensuite, tu peux faire tes echo dans la boucle while

    De plus si tu peux mettre $tab en dernier en session
    Si je mets mes echo dans la boucle while, cela veut dire que je suis obligé de charger mon header avant et donc ma variable de session n'est pas prise en compte dans le header.

    Si il y a une autre méthode que d'utiliser un for, je suis ouvert au suggestion.


  12. #12
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Ce que tu as indiqué 2 posts plus haut convient parfaitement à ton problème.
    Tu stocks en tableau tes données. Tu fais des traitements (le # ....). Puis tu affiches tes données.
    Smiley de Plomb 2009
    Anciennement FrancoisIT

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Plougy Voir le message
    Si je mets mes echo dans la boucle while, cela veut dire que je suis obligé de charger mon header avant et donc ma variable de session n'est pas prise en compte dans le header.
    Si il y a une autre méthode que d'utiliser un for, je suis ouvert au suggestion.
    petite confusion, seul session_start(); doit étre ouvert avant tout header, mais ensuite en plein milieu d'une généartion de page tu peux écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo ("<br>un texte html");
    $_SESSION['machin']="truc";

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 45
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par mauriser Voir le message
    petite confusion, seul session_start(); doit étre ouvert avant tout header, mais ensuite en plein milieu d'une généartion de page tu peux écrire
    Bien entendu, quand je parlais du header c'était seulement mon code html. Mes fonctions, mes sessions et mon template son charger par defaut.

    Ce que tu as indiqué 2 posts plus haut convient parfaitement à ton problème.
    Tu stocks en tableau tes données. Tu fais des traitements (le # ....). Puis tu affiches tes données.
    Merci

Discussions similaires

  1. afficher les données
    Par fadwa dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/05/2006, 17h32
  2. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 13h51
  3. [Excel] Comment afficher les données d'un fichier Excel (PHP)
    Par pierrot10 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/05/2006, 15h01
  4. Réponses: 6
    Dernier message: 06/04/2006, 20h52
  5. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 15h53

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