begin process at 2012 05 30 17:02:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

mysql_fetch pour un tableau multi dimmensionel


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

mysql_fetch pour un tableau multi dimmensionel

mardi 16 août 2011 à 21:09:52 | mysql_fetch pour un tableau multi dimmensionel

fabienfs

Membre Club Administrateur CodeS-SourceS
Hello,

On sait que :

mysql_fetch_assoc : Lit une ligne de résultat MySQL dans un tableau associatif
mysql_fetch_row : Retourne une ligne de résultat MySQL sous la forme d'un tableau
mysql_fetch_array : Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux

Mais est-il possible de retourner un résultat mysql_fetch dans un tableau multi dimensionnel ?

Actuellement je fait :

Code PHP :
$data = array();
while ($row = mysql_fetch_assoc($recordset)) {
     $data[] = $row;
}


Y a t'il une autre méthode plus simple ?

Merci

Belle soirée,

A++

Fabien Schenkels (alias fabienfs)
mercredi 17 août 2011 à 13:50:13 | Re : mysql_fetch pour un tableau multi dimmensionel

dvwyns

Salut,
ça dépend ce que tu veux y mettre.
mercredi 17 août 2011 à 15:32:54 | Re : mysql_fetch pour un tableau multi dimmensionel

fabienfs

Membre Club Administrateur CodeS-SourceS
Hello,

Imaginons, j'ai une table membre qui contient id, prenom, nom, age et email.
J'aimerais avec un mysql_fetch sortir un tableau multi dimensionnel comme ceci :

Code PHP :
Array
(
    [0] => Array
        (
            [id] => 1
            [prenom] => john
            [nom] => doe
            [age] => 25
            [email] => john@doe.com
        )
 
    [1] => Array
        (
            [id] => 2
            [prenom] => john
            [nom] => doe
            [age] => 25
            [email] => john@doe.com
        )
 
    [2] => Array
        (
            [id] => 3
            [prenom] => john
            [nom] => doe
            [age] => 25
            [email] => john@doe.com
        )
 
    [3] => Array
        (
            [id] => 4
            [prenom] => john
            [nom] => doe
            [age] => 25
            [email] => john@doe.com
        )
 
)


Comment faire ? Suis-je obligé d'utiliser ma première méthode ? Ou existe-t-il un mysql_fetch_??? qui peut me sortir le même résultat ?

Merci

A++

Fabien Schenkels (alias fabienfs)
mercredi 17 août 2011 à 16:50:37 | Re : mysql_fetch pour un tableau multi dimmensionel

kohntark

Membre Club
Réponse acceptée !
Salut,

Quel problème cela pose t-il au juste ?
mysql_fetch_* retourne la ligne courante, il est donc obligatoire de déplacer le pointeur pour parcourir les résultats.

Les fonctions mysql_* sont obsolètes, du devrais passer à mysqli, ou mieux, PDO.
D'ailleurs ce dernier te permet de parvenir très facilement à ton résultat avec la méthode fetchAll()

Cordialement,

Kohntark -
mercredi 17 août 2011 à 17:11:17 | Re : mysql_fetch pour un tableau multi dimmensionel

dvwyns

Salut,

kohntark, tu viens de m'apprendre que les fonctions mysql sont obsolètes.
Bien que si une personne comme moi, actif dans le domaine du web, je ne l'apprend que mtn, c qu'elles fonctionneront encore quelques temps. D'ailleurs je l'espere, je viens de terminer un site en utilisant que c fonctions. En tout cas mtn, je vais prendre cela en considération pour mes sites futures.
Sinon pour fabienfs, comme dit kohntark, si tu commences un site mieux vaut aprrendre l'api DPO, mais sinon :
Code PHP :
$tab = array()
while($data = mysql_fetch_array($result)){
    $sousTab = array( 'id' => $data['id'],
                      'prenom' => $data['prenom'],
                     ect.................);
    $tab[] = $soustab;
}

Je pense que ça fonctionne comme ça sinon je pense qu'il existe une fonction array_push qui te permmettra d'arriver au résultat

Enjoy
mercredi 17 août 2011 à 17:33:06 | Re : mysql_fetch pour un tableau multi dimmensionel

kohntark

Membre Club
Code PHP :
$tab = array()
while($data = mysql_fetch_array($result)){
    $sousTab = array( 'id' => $data['id'],
                      'prenom' => $data['prenom'],
                     ect.................);
    $tab[] = $soustab;
}

Ca revient au même que le code du premier message de Fabienfs, ... sauf que c'est plus lourd


Bien que si une personne comme moi, actif dans le domaine du web, je ne l'apprend que mtn, c qu'elles fonctionneront encore quelques temps. D'ailleurs je l'espere, je viens de terminer un site en utilisant que c fonctions.



Ca fait un bout de temps déjà que ces fonctions ne sont plus recommandées.
Sauf à programmer encore avec des ancêtres de PHP il faut les proscrire.
Sans doute fonctionneront elles encore quelques temps, il y a tellement de codes qui ont été développés avec elles. C'est un peu le même problème qu'avec les magic quotes, dur dur pour les développeurs de PHP de les supprimer. Mais à trop attendre on se retrouve avec des tonnes de scripts qui ne fonctionnent plus.
Et puis au delà de ça c'est tout de même dommage de se passer à côté de la puissance et des possibilités / flexibilité de mysqli ou PDO, qui sont, contrairement au premier, toujours en développement.

Cordialement,


Kohntark -
mercredi 17 août 2011 à 17:47:51 | Re : mysql_fetch pour un tableau multi dimmensionel

fabienfs

Membre Club Administrateur CodeS-SourceS

Hello,

Merci pour vos réponses. Si j'ai bien compris, avec mysql_* on est obligé de tout lister avec une while comme je l'ai fait.

Je vais cependant me pencher aussi sur PDO dont vous parlez, ça m'intéresse :-)

Merci à vous deux.

Belle soirée,

A++

Fabien Schenkels (alias fabienfs)
mercredi 17 août 2011 à 17:54:34 | Re : mysql_fetch pour un tableau multi dimmensionel

kohntark

Membre Club
Il y a même un exemple dans la doc qui montre par ailleurs l'utilisation des requêtes préparées, très utiles dans de nombreux cas.


Cordialement,


Kohntark -
mercredi 17 août 2011 à 18:59:59 | Re : mysql_fetch pour un tableau multi dimmensionel

dvwyns

Yop,
J'ai lu trop vite lu le commentaire sans vraiment regarder le code de fabienfs, effectivement, la boucle fetch_assoc fournit un tableau associatif, donc mon code est plus lourd ( je devais partir de mon boulot, du coup, j'ai trop vite fait ça , sorry fabienfs).


C'est un peu le même problème qu'avec les magic quotes, dur dur pour les développeurs de PHP de les supprimer.



Heureusemment, j'ai tout de suite travaillé avec les addslashes (en fait, contre mon gré, d'ailleurs si tu as quelque chose de mieux que ce long mot accompagné de son stripslashes, je suis preneur ^^)


Et puis au delà de ça c'est tout de même dommage de se passer à côté de la puissance et des possibilités / flexibilité de mysqli ou PDO, qui sont, contrairement au premier, toujours en développement.



Content d'aider dans un forum, pour finir, j'y apprend plein de choses

Cordialement
jeudi 18 août 2011 à 04:56:29 | Re : mysql_fetch pour un tableau multi dimmensionel

phpAnonyme

Ca fait un bout de temps déjà que ces fonctions ne sont plus recommandées.
Sauf à programmer encore avec des ancêtres de PHP il faut les proscrire.
Sans doute fonctionneront elles encore quelques temps, il y a tellement de codes qui ont été développés avec elles. C'est un peu le même problème qu'avec les magic quotes, dur dur pour les développeurs de PHP de les supprimer. Mais à trop attendre on se retrouve avec des tonnes de scripts qui ne fonctionnent plus.


J'ajouterai ou plutôt pour aller dans le même sens : que c'est surtout la faute au trop nombreux tutos sur le net qui ne traitent quasiment que de ces fonctions ou plutôt qui datent de l'époque où il n'y avait pas de PDO et comparses.
Après concernant les développeurs il y a surtout un manque de bonne volonté (flagrant chez certains) d'évolution.

Toute proportion gardé, l'objet c'est tellement plus beau et plus pratique




______________________________________________________________________

1 2

Cette discussion est classée dans : mysql, tableau, résultat, multi, fetch


Répondre à ce message

Sujets en rapport avec ce message

probleme de résultat mysql [ par vbguigui ] il me vient cette erreur: mysql_fetch_object(): supplied argument is not a valid MySQL resultresource in ... on line ...quand je fais ceci : $db=mysql sql = tableau [ par lorgard ] plopvoila a la base j'avais une liste deroulante créé par cecihile ($row = mysql_fetch_assoc($rslt)) {echo "".$row['prenom']."";}je voudrais le transf Affichage résultat requête SQL [ par kcin ] Salut à tous,Je pense que tout le monde sait comment fonctionne le traitement d'un résultat de requête SQL avec fetch_row & fetch_array, ceci est bien rajouter une ligne à mon tableau en cliquant sur un bouton [ par Deis94 ] Voila jai un petit souci et je bricole pas mal pour men sortir (suffit de jeter un coup d'oeilà mon script )en considérant que je suis dans un tableau tableau et base de donnee [ par renauddero ] Bonjours, Je souhaiterai definir les valeurs d'un tableau par une base de donnee.Voici mon code :    include('db.php');    mysql_select_db($database_c creer tableau double entrée avec mysql [ par seb22360 ] bonjour j'ai un probleme depuis quelques temps.. je suis completement bloqué pour mon site.je voudrais créer un tableau dynamique qui affiche toutes l Problème de récupération de résultat [ par Tupac59 ] Bonjour, voici mon problème :J'ai une table 'comptes' contenant des infos sur les utilisateurs avec notamment leur identifiant et leur mot de passe. J clic sur un tableau d'images lues à partie de mysql/php [ par amewole ] Voici mon problème : Je suis debutant php j'extrais des données images d' une table mysql et je mets ces données images dans un tableau HTML   images Erreur mysql_fetch_array [ par gerve ] Bonjour à tous, Lorsque j'upload mon site sur mon FTP cette erreur apparait : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL array_push [ par brezoneg ] Bonjour,Je rempli un tableau avec le code suivant :connection base ..ectfor ($t=0;$t{$num = mysql_result($res,$t,"num");$date = mysql_result($res,$t,"


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales