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 :

Créer un tableau dynamique [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut Créer un tableau dynamique
    Salut à tous,

    voilà je voudrai créer un tableau dynamique en php, càd stocker petit à petit dans une variable des paramètres de même type.

    Donc à l'origine j'ai une variable "vide" et à chaque itération d'une boucle par exemple je lui ajoute un élément. Je pourrais ensuite accéder à l'élément en position i de mon tableau en faisant un truc du style $montableau[i].

    Ce que je veux en fait pour ceux qui connaissent un peu le Java c'est utiliser qqch comme les ArrayList.

    Voilà merci d'avance.




    Note : pour qqch de plus concret, voici ce que je cherche à faire :
    avec une requête sous forme de chaîne de caractère (requête de type select que je ne connais pas (contenue dans une variable) ), afficher le résultat de la requête.

    Je crée donc une fonction comme ceci :

    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
     
    <?
    	function printResult($query)
    	{
    		$result = mysql_query($query);
    		if(!result)
    		{
    			echo '<div class = "erreur">
    				Erreur de requête sql.<br><br>Requête : '.$query.'<br>Erreur retournée : '.mysql_error().'				
    				</div>';
    		}
    		else
    		{
                         //code d'impression du résultat.
                     }
    Ce que je dois faire donc tout d'abord est récupérer le nom des champs à afficher, ensuite afficher le résulat de ma requête.
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Lit tes résultats dans un mysql_fetch_array
    Tu auras déjà un tableau associatif.

    Apres, tu n'as plus qu'a utiliser un foreach ($row as $key => $value) pour lire tes lignes. Dans $key tu retrouve le nom de tes champs et dans $value, leur valeur.
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  3. #3
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    je connaissait mysql_fetch_array mais je dois bien avouer ne pas bien savoir m'en servir dans mon cas précis où je ne connais à priori rien du tout, vu que la requête est une variable...

    Quant à la boucle foreach ($row as $key => $value), j'ai aucune idée de comment implémenter ça, ces trois variables ne sont pas connues, ça va pas marcher tout seul non?

    Comment tu fais exactement?
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  4. #4
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Pour savoir comment fonctionne mysql_fetch_array, regarde le lien que je t'ai donné, tu as un exemple tout simple qui va de la connection a la lecture d'une donnée (à utiliser avec l'option MYSQL_ASSOC, tu peux également utiliser directement mysql_fetch_assoc a la place).

    En partant de ca comme base, il n'y a plus qu'a modifier la lecture.
    $row est le retour de $mysql_fetch_array, il contient
    $row['champ1'] = 'valeur du champ1'
    $row['champ2'] = 'valeur du champ2'

    Le foreach sert dans ce cas precis à faire une boucle sur un tableau a deux dimensions. Donc pour chaque ligne de $row, il va créer lui même la variable $key et la variable $value (tu peux donner d'autres noms).
    A la premiere itération, $key contiendra 'champ1' et $value contiendra 'valeur du champ2', etc...

    Ce qui te donne un truc ressemblant a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    mysql_connect("localhost", "mysql_user", "mysql_password") or
    die("Impossible de se connecter : " . mysql_error());
    mysql_select_db("mydb");
    $result = mysql_query("SELECT id, name FROM mytable");
     
    while ($row = mysql_fetch_assoc($result)) { // On remplis $row
      foreach ($row as $key => $value) { // Et on le split pour le lire
        echo ($key . '=>' .  '$value -');
      }
      echo ('<br />\n');
     
    }
    Je n'ai pas testé le code, mais l'idée est là.
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  5. #5
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Arf ça marche pas.

    Voici le code exact de ce que j'utilise :

    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
     
    <?
    	function printResult($query)
    	{
    		$result = mysql_query($query);
    		if(!result)
    		{
    			echo '<div class = "erreur">
    				Erreur de requête sql.<br><br>Requête : '.$query.'<br>Erreur retournée : '.mysql_error().'				
    				</div>';
    		}
    		else
    		{						
    			while ($row = mysql_fetch_assoc($result))
    			{ 
    				foreach ($row as $key => $value)
    				{ 
    					echo ($key . '=>' .  '$value -');
    				}
    				echo ('<br />\n');
     
    			}
    		}
    	}
    ?>
    Je m'assure évidement sur une autre page avant d'utiliser la fonction que je me suis bien connecté au serveur et à la bdd avec l'adresse du serveur, login, pass et nom de la base de données. Ca marche. Pourtant en faisant un bête select * from 'tablename' ça marche pas (ici tablename je mets explicitement ce que c'est)

    Le code d'erreur retourné est le suivant :

    Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /data/bd/a1/public_html/templates.php on line 4

    Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /data/bd/a1/public_html/templates.php on line 4

    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /data/bd/a1/public_html/templates.php on line 13

    Voilà tout ça pour dire que je suis perdu et que j'ai besoin d'aide, j'ai beau cherche je comprends pas ce qui va pas là...
    Merci d'avance.
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 379
    Points : 422
    Points
    422
    Par défaut
    Tu te connecte où à ta BDD ?

  7. #7
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Je me connecte à la bdd dans une page précédente.

    Personellement, je crois pas qu'on a besoin de savoir plus que ça, une fois qu'on est connecté à la bdd, on n'a plus besoin de le faire non?
    Toutefois voici le code si ça interesse :

    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
    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
     
    <html>
    <? include("entete.php"); ?>
    <body>
     
    <?
    	$connection = @mysql_connect($_POST['host'], $_POST['login'], $_POST['password']);
    	if(!$connection)
    	{
    		echo '<div class = "erreur">
    			Erreur de connection au serveur.<br> L\'adresse du serveur, 
    			l\'utilateur ou le mot de passe est invalide.<br>
    			Veuillez vous reconnecter.
    			</div>';
    	}
     
    	else
    	{		
    		$bdd = @mysql_select_db($_POST['bdd']);
    		if(!$bdd)
    		{
    			echo '<div class = "erreur">
    			Erreur de connection à la base de données.<br> Le nom de la base de données est incorrect.<br>
    			Veuillez vous reconnecter.
    			</div>';
    		}
    		else
    		{			
    			$tables = 'SHOW TABLES FROM '.$_POST["bdd"];			
    			$result = @mysql_query("$tables");
     
    			if(!$result)
    			{
    				echo '<div class = "erreur">
    				Impossible de lister les tables de la base de données.
    				</div>';
    			}
    			else
    			{				
    				//construction du tableau de selection des tables
    				echo '<div class = "titre">';
    				echo '<form action = "affichertables.php" method = "post">';
    				echo '<center>';
    				echo '<table class=\"".""."\" border =\"2\" >';				
    				while($row = mysql_fetch_row($result))
    				{													
    					echo '<tr>';
    					echo '<td>';
    					// label du field de choix de nombre de table
    					echo '<div class= "titre">';
    					echo "$row[0]";
    					echo '</div>';
    					echo '</td>';
     
    					// field de choix de nombre de fois qu'on veut selectioner la table
    					echo '<td>';
    					echo '<input type = "text" size = 15 name = $result[0]>';
    					echo '</td>';						
    					echo '</tr>';
    				}				
    				echo '</table>';
    				echo '</center>';
    				echo '<input type = "submit" value = " Afficher les tables " >';
    				echo '</form>';
    				echo '</div>';
     
    				//champ pour les requêtes entrées en dur
    				echo '<div class = "titre">';
    				echo '<form action = "hardreponse.php" method = "post">';
    				echo '<center>';
    				echo '<table class=\"".""."\" border =\"2\" >';
     
    				echo '<tr>';
    				echo '<td>';
    				// label du field
    				echo '<div class= "titre">';
    				echo "Entrer une requête SQL";
    				echo '</div>';
    				echo '</td>';
     
    				// field de requête
    				echo '<td>';
    				echo '<input type = "text" size = 15 name = "hrequest">';
    				echo '</td>';						
    				echo '</tr>';
     
    				echo '</table>';
    				echo '</center>';
    				echo '<input type = "submit" value = " Afficher les tables " >';
    				echo '</form>';
    				echo '</div>';
    			}
    		}
    	}
     
    ?>
     
    </body>
    <? include("piedDePage.php"); ?>
    </html>
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  8. #8
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    une fois qu'on est connecté à la bdd, on n'a plus besoin de le faire non?
    Quand tu charges ta page php, tu te connecte a ta base.
    Si tu charge une autre page php, tu doit te reconnecter a ta base.

    En gros, considère qu'a chaque fois que tu charges une page php, c'est un nouveau process indépendant de tout le reste. (Bon, c'est pas completement vrai, mais dans l'idée, c'est pas faux)

    Si tu as initialisé ta connection dans une page, ca ne veux pas dire que dans la suivante c'est encore ok.
    Généralement, suivant les projets, je me fait soit une classe de connection ou alors, pour les petits projets, un simple "db_connect.php" qui me fait la connection et que j'inclus dans tous mes .php
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  9. #9
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Ok, j'ai essayé mais j'ai un stress avec la ligne session_start(), il me retourne une erreur, j'ai beau chercher sur google ou dans la faq, c'est vraiment à croire que personne n'a d'erreur avec ça... A la page précédente j'initialise dans le script initial de session_star() les variables session à des chaines vides, mais j'ai la même erreur.

    Voic le code essentiel pour la connection:

    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
    47
    48
     
    <? session_start(); 	
    ?>
     
    <html>
    <? include("entete.php"); ?>
    <body>
     
    <?	
    	$_SESSION['host'] = $_POST['host'];
    	$_SESSION['login'] = $_POST['login'];
    	$_SESSION['password'] = $_POST['password'];
    	$_SESSION['bdd'] = $_POST['bdd'];
     
    	$connection = @mysql_connect($_POST['host'], $_POST['login'], $_POST['password']);
    	if(!$connection)
    	{
                ...
    	}
     
    	else
    	{		
    		$bdd = @mysql_select_db($_POST['bdd']);
    		if(!$bdd)
    		{
                            ...
    		}
    		else
    		{			
    			$tables = 'SHOW TABLES FROM '.$_POST["bdd"];			
    			$result = @mysql_query("$tables");
     
    			if(!$result)
    			{
                                ...
    			}
    			else
    			{	
                                 ...			
                             }
    		}
    	}
     
    ?>
     
    </body>
    <? include("piedDePage.php"); ?>
    </html>

    L'erreur retournée est la suivante :
    Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\connection.php:1) in c:\program files\easyphp1-8\www\connection.php on line 2

    Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\connection.php:1) in c:\program files\easyphp1-8\www\connection.php on line 2
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  10. #10
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Enlève la ligne vide du début.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  11. #11
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Bon ça va j'ai réussi àne plus avoir le message d'erreur, ùmais l'affichage de résultat de la requête fonction pas.

    i.e. le code tapé par Rakken ne fonctionne pas.
    Je remets ma question pour plus de clarté :

    Je veux créer une fonction qui prend un paramètre $query qui est la requête à exécuter (je ne connais pas cette requête, la fonction doit être exécutable sur n'importe quelle base de donnée) et je veux imprimer le résultat de l'exécution de la requête.

    Quel est le code à taper?
    càd en supposant que je me suis bien connecté à la bdd, et que l'exécution de la requête s'est correcteent effectuée, le résultat est contenu dans $result, comment afficherle ce résultat?
    J'ai tapé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    while ($row = mysql_fetch_assoc($result)) 
    { 
    	foreach ($row as $key => $value) 
            { 
    		echo ($key . '=>' .  '$value -');
    	}
    	echo ('<br />\n');
     
    }
    Et ça ne fonctionne pas...

    Je veux que le résultat soit affiché sous la forme
    Attribut1 Attribut2 ...
    valeur1.1 valeur2.1
    valeur1.2 valeur2.2
    ...
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Dans ce cas autant remanier l'algo peut etre :

    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
     
    echo "<table>";
    while($row = mysql_fetch_array($result))
    {
         //construction du tableau des noms de champ
         if(!isset($tab_nom_champs))
         {
            echo "<tr>";
            foreach($row as $key => $value)
            {
                $tab_nom_champs[] = $key;
                echo "<td>".$key."</td>";
            }
         }
     
         //Affichage de l'enregistrement en cours
         echo "</tr><tr>";
         for($i = 0 ; $i < count($tab_nom_champs) ; $i++)
         {
            echo "<td>".$row[$tab_nom_champs[$i]]."</td>";
         }
         echo "</tr>";
    }
    echo "</table>";
    C'est ce genre de chose que tu désires ?
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  13. #13
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    ouaip, merci beaucoup, c'est parfait. Voici le code final :

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    function printResult($query)
    {
    	$connection = @mysql_connect($_SESSION['host'], $_SESSION['login'], $_SESSION['password']);
    	if(!$connection)
    	{
    		echo '<div class = "erreur">
    			Erreur de connection au serveur.<br> L\'adresse du serveur, 
    			l\'utilateur ou le mot de passe est invalide.<br>
    			Veuillez vous reconnecter.
    			</div>';
    	}
    	else
    	{
    		$bdd = @mysql_select_db($_SESSION['bdd']);
    		if(!$bdd)
    		{
    			echo '<div class = "erreur">
    			Erreur de connection à la base de données.<br> Le nom de la base de données est incorrect.<br>
    			Veuillez vous reconnecter.
    			</div>';
    		}
    		else
    		{
    			$result = mysql_query($query);
    			if(!$result)
    			{
    				echo '<div class = "erreur">
    					Erreur de requête sql.<br><br>Requête : '.$query.'<br>Erreur retournée : '.mysql_error().'				
    					</div>';
    			}
    			else
    			{	
    				$first = true;
    				echo '<table border="1">';
    				while( $row = mysql_fetch_assoc( $result ) )
    				{
    					if( $first )
    					{
    						// Affichage des colonnes
    						$first = false;
    						echo '<tr>';
    						// Pour chaque champ, on affiche la cle (autrement dit le nom de la colonne)
    						foreach( $row as $field => $value )
    						{
    							echo '<th>' . $field . '</th>';
    						}
    						echo '</tr>';
    					}
     
    					// Affichage contenu requete
    					echo '<tr>';
    					// Pour chaque champ, on affiche la valeur, autrement dit le contenu pour la ligne courante de la colonne)
    					foreach( $row as $field => $value )
    					{
    						echo '<td>' . $value . '</td>';
    					}
    					echo '</tr>';
    				}
    				echo '</table>';
    			}
    		}
    	}
    }
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  14. #14
    Membre averti Avatar de Razgriz
    Profil pro
    Professeur / chercheur en informatique / mathématiques
    Inscrit en
    Avril 2006
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Professeur / chercheur en informatique / mathématiques

    Informations forums :
    Inscription : Avril 2006
    Messages : 391
    Points : 306
    Points
    306
    Par défaut
    Bon si ce n'est ça, comment on fait pour créer une variable qui soit un tableau dynamique? C'était l'objet du topic à l'origine
    On a toujours besoin d'un plus bourrin que soi

    Oui il y a quelques bugs dans ma librairie de Sécurité, mais les classes postées ne sont pas celles de la dernière version, et j'ai la flemme de tout modifier. Je vous donnerai avec plaisir la dernière version du jar par mp.

  15. #15
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par Razgriz
    Bon si ce n'est ça, comment on fait pour créer une variable qui soit un tableau dynamique? C'était l'objet du topic à l'origine
    Mais les tableaux sont déjà dynamiques en PHP (enfin ça dépend ce que tu entends par dynamique mais si c'est en terme de taille ça l'est), tu fais $tab[] = "toto" et ça te rajoute la variable en bout de tableau dans un nouvel index, ou tu précises l'index $tab[9] = "toto" suivant ce que tu veux. (j'espère ne pas avoir dit de conneries lol)
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

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

Discussions similaires

  1. créer un tableau dynamique
    Par minooo dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/11/2008, 15h14
  2. Réponses: 2
    Dernier message: 28/10/2008, 20h19
  3. créer un tableau dynamique
    Par paolo2002 dans le forum Struts 1
    Réponses: 1
    Dernier message: 06/06/2008, 17h48
  4. [Tableaux] Créer un tableau dynamique
    Par Ptimoustik dans le forum Langage
    Réponses: 3
    Dernier message: 17/03/2008, 20h47
  5. Comment créer un tableau dynamique ?
    Par khokho dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/08/2007, 08h40

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