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 :

Récupération données MySQL dans un tableau [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut Récupération données MySQL dans un tableau
    Bonjour,

    j'ai un petit souci de données en double dans un tableau suite à un import MySQL.

    La requête SQl est bonne, et renvoie un résultat correct. Les données sont correctement introduites dans le tableau mais le souci est le suivant:

    J'ai l'impression que la boucle tourne deux fois trop, dans le sens ou ceci:

    toto
    Avant TDApres TD

    Avant TDApres TD

    Avant TDApres TD

    tata

    apparait 22 fois avant que mon tableau ne s'affiche. Le tableau s'affiche conformément à ce que renvoie print_r($DataTab);

    Ce que je ne comprends pas c'est qu'il doit y avoir quelque chose dans le tableau qui provoque ce comportement mais quoi...


    Voici mon code:

    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
     
    $DataRequest = mysql_query("SELECT Time, StepId, Log FROM ".$Agent." where testid =".$TestId.";") or die(mysql_error());
    $f=$g=0;
    while ($Data = mysql_fetch_assoc($DataRequest))
    {
    	$DataTab[$f][$g] = $Data['Time'];
    	$g=$g+1;
    	$DataTab[$f][$g] = $Data['StepId'];
    	$g=$g+1;
    	$DataTab[$f][$g] = $Data['Log'];
    	$f=$f+1;
    	$g=0;
    }
    ?>
     
    <TABLE BORDER="1">
    <CAPTION> Logs </CAPTION>
    <TR>
    	<TH> Time </TH>
    	<TH> Step ID </TH>
    	<TH> Step </TH>
    </TR>
    <?php
     
    for ($i=0; $i<22; $i++)
    {
    	echo '<TR>toto<br>';
    	for ($j=0; $j<3; $j++)
    	{
    		echo 'Avant TD<TD>'.$DataTab[$i][$j].'  '.$i.'  '.$j.'  '.'</TD>Apres TD<br>';
    		echo '<br>';
    	}
    	echo '</TR>tata <br>';
    }
    ?>
    </TABLE> 
     
    <?php
    echo '<pre>';
    	print_r($DataTab);
    echo '</pre>';
    Et petit extrait de print_r();

    Array
    (
    [0] => Array
    (
    [0] => data 00
    [1] => data 01
    [2] => data 03
    )

    [1] => Array
    (
    [0] => data 10
    [1] => data 11
    [2] => data 12
    )
    ....
    )

    Merci beaucoup de votre aide!

  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
    Le code tel que tu nous l'as mis fonctionne chez moi en me basant sur le print_r que tu as indiqué.

    Le probleme doit venir d'autre part.

    Au passage les balises HTML s'ecrivent en minuscule.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut
    C'est bizarre car quand je commente la boucle for, tout l'affichage disparait. Il doit y avoir quelque chose dans ce tableau de pas correct...

  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Par défaut
    J'ai isolé la partie du code qui pose problème et le comportement reste le même.

    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
    42
    43
    44
    45
    46
     
    <?php
    mysql_connect("localhost", "user", "pass");
    mysql_select_db("log"); 
     
    $DataRequest = mysql_query("SELECT Time, StepId, Log FROM mytable where testid =\"my testid\";") or die(mysql_error());
    $f=$g=0;
    while ($Data = mysql_fetch_assoc($DataRequest))
    {
    	$DataTab[$f][$g] = $Data['Time'];
    	$g=$g+1;
    	$DataTab[$f][$g] = $Data['StepId'];
    	$g=$g+1;
    	$DataTab[$f][$g] = $Data['Log'];
    	$f=$f+1;
    	$g=0;
    }
    ?>
     
    <TABLE BORDER="1">
    <CAPTION> Logs </CAPTION>
    <TR>
    	<TH> Time </TH>
    	<TH> Step ID </TH>
    	<TH> Step </TH>
    </TR>
    <?php
     
    for ($i=0; $i<29; $i++)
    {
    	echo '<TR>toto<br>';
    	for ($j=0; $j<3; $j++)
    	{
    		echo 'Avant TD<TD>'.$DataTab[$i][$j].'  '.$i.'  '.$j.'  '.'</TD>Apres TD<br>';
    		echo '<br>';
    	}
    	echo '</TR>tata <br>';
    }
    ?>
    </TABLE> 
     
    <?php
    echo '<pre>';
    	print_r($DataTab);
    echo '</pre>';
    ?>
    Le résutat de mon print_r reste celui ci:

    Array
    (
    [0] => Array
    (
    [0] => data 00
    [1] => data 01
    [2] => data 03
    )

    [1] => Array
    (
    [0] => data 10
    [1] => data 11
    [2] => data 12
    )
    ....
    )

    et j'ai toujours autant de fois:

    toto
    Avant TDApres TD

    Avant TDApres TD

    Avant TDApres TD

    tata


    Ce code étant dans une nouvelle page PHP, c'est bien que le problême vient de celui ci. o_0

    Peut être vient il de la requête, mais d'après le print_r, elle doit être bonne.

    Par avance, merci pour votre aide.

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

Discussions similaires

  1. [MySQL] Affichage par php des données mysql dans un tableau html
    Par JDP91 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 17/05/2015, 09h10
  2. Réponses: 6
    Dernier message: 20/05/2011, 16h00
  3. [MySQL] Récupération des donné MYSQL dans un champ select simple
    Par themaster dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/04/2009, 18h06
  4. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  5. [MySQL] afficher des données binaires d'une table mysql dans un tableau
    Par piscop dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/06/2007, 14h48

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