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 :

PHP MYSQL et tableaux a 2 dimensions


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut PHP MYSQL et tableaux a 2 dimensions
    bonjour

    j'ai dans mon code source un tableau a 2 dimensions
    et je souhaiterez faire la même chose avec MYSQL
    un sorte de table a 2 dimensions.
    es-que cela un possible ?
    si ou comment faire ?



    merci

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Auto-Entrepreneur / Etudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Auto-Entrepreneur / Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Bonjour,
    Pourrais tu nous détailler un peu ton objectif. Tu compte sauvegarder ton tableau 2d dans ta bdd mysql ?
    As tu déjà travaillé avec une BDD MySQL, ou quelques notions de BDD ?

    La structure d'une base de donnée est simple, je ne suis pas sûr que tu poserais ces questions si tu avait déjà quelques notions.
    Considère que tout est faisable il faut juste définir ce dont tu as besoin et comment t'y prendre.

    Nous pourrons t'aider pour le comment t'y prendre mais c'est à toi de définir tes besoins.

    Jette un œil à : bases de données wikipedia ,sql.developpez.com, sql wikipedia

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut
    voila mon ancien script php utiliser une table a 2 dimensions
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $categorie[0][1] = "exemple";
    $categorie[0][2] = "exemple";
    $categorie[0][3] = "exemple";
    ..........................
    je cherche a faire la même chose pour un enregistrement dans une table MYSQL
    en fait mon script dois par fois enregistrer un ou plusieurs sous-categorie dans une la colonne catégorie.
    une cellule de la Table MYSQL , un cellule Catégorie qui peu contenir plusieurs valeur comme dans une table a Plusieurs dimensions.

    merci

  4. #4
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut
    re re re bonjour

    pour répondre a l'une de t'est question.

    oui j'ai des notion en PHP mes très peu de connaissons en MYSQL.

    je veut savoir si il y a une structure MYSQL identique a c'est des array() a plusieurs dimensions dans php
    si oui quel et ce nom qui définie cette structure en MYSQL égal a table a plusieurs dimensions


    merci

  5. #5
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    MySQL n'a pas de structure de données gérant plusieurs dimensions.
    Tu dois procéder autrement et reconstituer ton tableau en PHP à partir des données extraites de MySQL

  6. #6
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut
    salut

    dans si j'ai bien compris ils n'y a pas de table mysql a plusieurs dimensions
    Ca n’existe pas dans mysql ??

    donc la solution serait peu etre de mettre le nom d'une table dans la cellule
    de la première table ...
    exemple :

    table : formulaire --> url --> catégorie
    -->catégorie du form 1
    -->catégorie du form 2

    2 eme table --> catégorie du form 1
    --> catégorie du form 2


    que pense tu de cette solution ?

  7. #7
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    c'est ingérable car à chaque niveau de sous-catégorie tu devras créer une table.
    Dans ce cas, tu peux utiliser une table récursive (une colonne de ta table pointe vers un autre id de la même table) ou une table intervallaire.

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Auto-Entrepreneur / Etudiant
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Auto-Entrepreneur / Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Oui ça serait ingérable, s'il s'agit uniquement de sauvegarder des variables, et que tu en fait une utilisation modérée, à mon avis il vaudrais mieux que tu fasse usage des fonctions php te permettant d'écrire et de lire dans un fichier.
    Tu pourra ainsi y insérer tes variables et venir les récupérer en les inscrivant sous la forme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     0 0 exemple
     ...
     2 41 exemple
    après si c'est un peu plus que de la sauvegarde de variables, ou que tu en fait un traitement plus complexe, alors oui, penche toi sur les bdd, mysql étant facile d'utilisation et de nombreux tutos existent. Mais il te faudra alors revoir la structure de tes tables (éventuellement ton programme).

    Tu aura alors diverses options, comme le propose rawsrc, de faire quelque chose sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    > Table idtable (qui contient la liste et les identifiants des autres tables )
    Puis une table pour chaque catégorie par exemple ou tu mettra toute tes entres qui correspondront
    > cat 1
    > cat 2 
    ...

  9. #9
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Va falloir (re)voir les fondamentaux des base de données. Même si la gestion d'arboresence peut être simple , si tu n'as pas les bases ca risque d'être compliqué.

    Comme rawsrc le dit précédement il y'a deux solutions pour gérer les arborescences :

    La méthode intervallaire : Très performante avec des arbres profonds (plusieurs niveau de parenté) elle relativement complexe et (c'est un cas assez rare) pas très adaptée au situation nécessitant beaucoup d’écriture.

    => C'est la méthode à privilégier quand on veux mettre en place une arborescence sans profondeur maximale définie

    La méthode "classique" est très simple car il suffit d'avoir une table comme ceci :
    id | idparent | nom
    ----------------------------
    1 | NULL | Parent
    2 | 1 | Enfant
    L'écriture y est simple , en revanche les requêtes peuvent devenir très coûteuses dans une arborescence complexe.

    => on choisir cette solution pour des arborescences à un voir deux niveau de profondeurs.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut
    salut a vous

    je crois que je vais enregistrer tous les var dans la même cellule
    et séparer par les caractère |||
    et ensuite pour récupérer les valeur j'utilise la fonction explode()

    exemple : colonne = catégorie :valeur1|||valeur2|||valeur3

    a votre avis cet solution peu marcher


    merci de votre aide

  11. #11
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par grunk Voir le message
    L'écriture y est simple , en revanche les requêtes peuvent devenir très coûteuses dans une arborescence complexe.
    A partir d'un certain niveau de profondeur et de complexité, MySQL dégage rapidement (appels récursifs au sein de procédures stockées, miam miam et puis vomi). Le seul moyen qui reste : recoder toutes les récursions en itératif.
    Bref, avec MySQL il ne faut pas s'aventurer trop loin dans ce monde, c'est une quiche totale.

  12. #12
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 690
    Points : 20 211
    Points
    20 211
    Par défaut
    Citation Envoyé par kalare Voir le message
    salut a vous

    je crois que je vais enregistrer tous les var dans la même cellule
    et séparer par les caractère |||
    et ensuite pour récupérer les valeur j'utilise la fonction explode()

    exemple : colonne = catégorie :valeur1|||valeur2|||valeur3

    a votre avis cet solution peu marcher


    merci de votre aide
    Ca va à l'encontre de tous les principes des SGBDR , mais si tu trouves ça plus simple, ca peut effectivement "marcher"
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Décembre 2012
    Messages : 109
    Points : 47
    Points
    47
    Par défaut
    re re re re salut

    merci a vous tous et a maximiliend.


    la solution que maximiliend propose s'appelle une table de vue ?
    c'est ca ?

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

Discussions similaires

  1. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 19h59
  2. [MySQL] Tableau 2 dimension php\MySql
    Par enamorada dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 25/11/2012, 17h47
  3. [MySQL] [Script]Optimisation de scripts Php/MySQL (2)
    Par copy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/08/2004, 09h33
  4. [php / mysql] pb if ( mysql_query() )
    Par dkmatt dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/01/2004, 21h07

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