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
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
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
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
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
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
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
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 ?
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.
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
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
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).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 0 0 exemple ... 2 41 exemple
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 ...
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 :
L'écriture y est simple , en revanche les requêtes peuvent devenir très coûteuses dans une arborescence complexe.id | idparent | nom
----------------------------
1 | NULL | Parent
2 | 1 | Enfant
=> on choisir cette solution pour des arborescences à un voir deux niveau de profondeurs.
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
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.
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
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 ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager