|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonsoir,
Je cherche un forum en français sur l'utilisation de mysql. Si vous avez ça dans vos tablettes... merci à l'avance ! A tout hasard, voilà le prb: Je classe des fleurs. L'un des champs "petales" contient le nb de petales... (oui !) Mon "enum" offre plusieurs categories : 3,4,5,6à10, plus... Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux catégories... (anemone peut avoir 5 mais aussi 7 ou 8 petales) Pour le moment je ne vois qu'une soluce: enregistrer deux lignes "anemone" l'une avec 5, l'autre avec 6à10.... -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
--{ alainL a plopé ceci: }--
> Bonsoir, > Je cherche un forum en français sur l'utilisation de mysql. Si vous avez > ça dans vos tablettes... merci à l'avance ! > A suivre sur fr.comp.applications.sgbd > A tout hasard, voilà le prb: > Je classe des fleurs. L'un des champs "petales" contient le nb de > petales... (oui !) Mon "enum" offre plusieurs categories : > 3,4,5,6à10, plus... > Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux > catégories... (anemone peut avoir 5 mais aussi 7 ou 8 petales) > Pour le moment je ne vois qu'une soluce: enregistrer deux lignes > "anemone" l'une avec 5, l'autre avec 6à10.... (hi hi hi) -- A horse will do most of its maintenance itself, but it needs fuel even if you're not using it. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
alainL a écrit :
> Bonsoir, > Je cherche un forum en français sur l'utilisation de mysql. Si vous avez > ça dans vos tablettes... merci à l'avance ! fr.comp.applications.sgbd > A tout hasard, voilà le prb: > Je classe des fleurs. L'un des champs "petales" contient le nb de > petales... (oui !) Mon "enum" offre plusieurs categories : 3,4,5,6à10, > plus... > Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux > catégories... (anemone peut avoir 5 mais aussi 7 ou 8 petales) > Pour le moment je ne vois qu'une soluce: enregistrer deux lignes > "anemone" l'une avec 5, l'autre avec 6à10.... Soluce 1 : utilise deux champs nb_petales_min et nb_petales_max. Pour anémone, tu aura nb_petales_min = 5 et nb_petales_max = 8 Soluce 2 : utilise une table liée pour la description du nombre de pétales, avec une relation plusieurs à plusieurs entre fleurs et nombre_petales. Je ne connais pas assez le domaine pour te dire a priori quelle solution est la plus appropriée, mais en gros : si une anémone peut avoir 5 ou 7 ou 8 pétales mais *pas* 6, alors utilise la seconde solution. Voit aussi en fonction des requêtes les plus fréquentes |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
alainL avait écrit le 26/03/2008 :
> Bonsoir, > Je cherche un forum en français sur l'utilisation de mysql. Si vous avez ça > dans vos tablettes... merci à l'avance ! > > A tout hasard, voilà le prb: > Je classe des fleurs. L'un des champs "petales" contient le nb de petales... > (oui !) Mon "enum" offre plusieurs categories : 3,4,5,6à10, plus... > Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux > catégories... (anemone peut avoir 5 mais aussi 7 ou 8 petales) > Pour le moment je ne vois qu'une soluce: enregistrer deux lignes "anemone" > l'une avec 5, l'autre avec 6à10.... La solution la plus simple serait de changer ton champ ENUM en SET (hyper facile via PHPMyAdmin). Ainsi il pourra avoir comme valeur 1 ou plusieurs valeurs de ta liste, et non plus une seule à la fois. "Un SET est une chaîne qui peut avoir zéro ou plusieurs valeurs, chacune doit être choisie dans une liste de valeurs définies lors de la création de la table. Les valeurs des colonnes SET composées de plusieurs membres sont définies en séparant celles-ci avec des virgules (','). Ce qui fait que la valeur d'un membre de SET ne peut contenir lui même de virgule." Plus d'infos sur http://dev.mysql.com/doc/refman/5.0/fr/set.html -- Olivier Ligny |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
O.L. a écrit :
> alainL avait écrit le 26/03/2008 : >> Bonsoir, >> Je cherche un forum en français sur l'utilisation de mysql. Si vous >> avez ça dans vos tablettes... merci à l'avance ! >> >> A tout hasard, voilà le prb: >> Je classe des fleurs. L'un des champs "petales" contient le nb de >> petales... (oui !) Mon "enum" offre plusieurs categories : >> 3,4,5,6à10, plus... >> Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux >> catégories... (anemone peut avoir 5 mais aussi 7 ou 8 petales) >> Pour le moment je ne vois qu'une soluce: enregistrer deux lignes >> "anemone" l'une avec 5, l'autre avec 6à10.... > > La solution la plus simple serait de changer ton champ ENUM en SET > (hyper facile via PHPMyAdmin). > Ainsi il pourra avoir comme valeur 1 ou plusieurs valeurs de ta liste, > et non plus une seule à la fois. > > "Un SET est une chaîne qui peut avoir zéro ou plusieurs valeurs, chacune > doit être choisie dans une liste de valeurs définies lors de la création > de la table. Les valeurs des colonnes SET composées de plusieurs membres > sont définies en séparant celles-ci avec des virgules (','). Ce qui fait > que la valeur d'un membre de SET ne peut contenir lui même de virgule." > > Plus d'infos sur http://dev.mysql.com/doc/refman/5.0/fr/set.html > Merci. Bon sang ! C'est magnifique ça ! J'avais pensé comme Bruno, à créer deux champs mini et maxi mais là, c'est le top ! Donc, je crée un champ "nb_petales" SET pouvant valoir "4" ou "5" ou "5,6,7,8" (entrée à la souris ds une liste box, j'aurai 400 fleurs à marquer) Et pour la requete: select from.... where nb_petales like '%nb_petales%' ?? elle sera capable de pêcher le "6" dans "5,6,7,8" ?? -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
alainL wrote:
> Et pour la requete: > select from.... where nb_petales like '%nb_petales%' ?? > elle sera capable de pêcher le "6" dans "5,6,7,8" ?? Oui mais ce n'est pas "bien", si tu as "16" ou "65", tu auras un retour. Tu peux utiliser WHERE FIND_IN_SET('6', nb_petales) -- Réseau IRC Francophone: http://www.zeolia.net Aide et astuces webmasters : http://www.c-p-f.org Communauté Francophone sur les Eggdrops: http://www.eggdrop.fr |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
alainL a formulé la demande :
> O.L. a écrit : >> alainL avait écrit le 26/03/2008 : >>> Bonsoir, >>> Je cherche un forum en français sur l'utilisation de mysql. Si vous avez >>> ça dans vos tablettes... merci à l'avance ! >>> >>> A tout hasard, voilà le prb: >>> Je classe des fleurs. L'un des champs "petales" contient le nb de >>> petales... (oui !) Mon "enum" offre plusieurs categories : 3,4,5,6à10, >>> plus... >>> Pour certaines fleurs, je voudrais qu'elles répondent vrai à deux >>> catégories... (anemone peut avoir 5 mais aussi 7 ou 8 petales) >>> Pour le moment je ne vois qu'une soluce: enregistrer deux lignes "anemone" >>> l'une avec 5, l'autre avec 6à10.... >> >> La solution la plus simple serait de changer ton champ ENUM en SET (hyper >> facile via PHPMyAdmin). >> Ainsi il pourra avoir comme valeur 1 ou plusieurs valeurs de ta liste, et >> non plus une seule à la fois. >> >> "Un SET est une chaîne qui peut avoir zéro ou plusieurs valeurs, chacune >> doit être choisie dans une liste de valeurs définies lors de la création de >> la table. Les valeurs des colonnes SET composées de plusieurs membres sont >> définies en séparant celles-ci avec des virgules (','). Ce qui fait que la >> valeur d'un membre de SET ne peut contenir lui même de virgule." >> >> Plus d'infos sur http://dev.mysql.com/doc/refman/5.0/fr/set.html >> > Merci. > Bon sang ! C'est magnifique ça ! J'avais pensé comme Bruno, à créer deux > champs mini et maxi mais là, c'est le top ! > Donc, je crée un champ "nb_petales" SET pouvant valoir "4" ou "5" ou > "5,6,7,8" (entrée à la souris ds une liste box, j'aurai 400 fleurs à marquer) > > Et pour la requete: > select from.... where nb_petales like '%nb_petales%' ?? > elle sera capable de pêcher le "6" dans "5,6,7,8" ?? Oui tout à fait. Mais ce n'est pas la seule méthode, cf. la doc : Normalement, vous exécuterez un SELECT sur une colonne SET en utilisant l'opérateur LIKE ou la fonction FIND_IN_SET() : mysql> SELECT * FROM nom_de_table WHERE set_col LIKE '%value%'; mysql> SELECT * FROM nom_de_table WHERE FIND_IN_SET('value',set_col)>0; Mais ce qui suit fonctionnera aussi : mysql> SELECT * FROM nom_de_table WHERE set_col = 'val1,val2'; mysql> SELECT * FROM nom_de_table WHERE set_col & 1; La première requête cherche les lignes qui correspondent exactement. La seconde ne cherche que les lignes contenant le premier membre du set. -- Olivier Ligny |
|
|
|
#8 |
|
Messages: n/a
Hébergeur: |
CrazyCat a écrit :
> alainL wrote: >> Et pour la requete: >> select from.... where nb_petales like '%nb_petales%' ?? >> elle sera capable de pêcher le "6" dans "5,6,7,8" ?? > > Oui mais ce n'est pas "bien", si tu as "16" ou "65", tu auras un retour. > Tu peux utiliser WHERE FIND_IN_SET('6', nb_petales) > Probleme de structure du set. J'ai beau jongler avec les guillemets, virgules et espaces, je ne peux entrer que les valeurs contenant un seul nombre. Voici la syntaxe de mon set, mySQL(4;0;15) m'a refusé ou modifié pas mal d'autres. set('', '0, 1, 2, 3', '4', '5, 6, 7, 8, 9, 10', '6', '11') 4 ou 6 ou 11 sont acceptés et apparaissent dans la table, mais pas "0,1,2,3" -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#9 |
|
Messages: n/a
Hébergeur: |
[ copie et suivi vers fr.comp.applications.sgbd ]
Le 27/03/2008 18:08, alainL a écrit : > > Probleme de structure du set. J'ai beau jongler avec les guillemets, > virgules et espaces, je ne peux entrer que les valeurs contenant un seul > nombre. > Voici la syntaxe de mon set, mySQL(4;0;15) m'a refusé ou modifié pas mal > d'autres. > > set('', '0, 1, 2, 3', '4', '5, 6, 7, 8, 9, 10', '6', '11') > > 4 ou 6 ou 11 sont acceptés et apparaissent dans la table, mais pas "0,1,2,3" 1) Tu sembles essayer '0, 1, 2, 3' avant de dire que c'est "0,1,2,3" qui ne marche pas. As-tu essayé '0,1,2,3' ? 2) Les experts, dont je ne suis pas, sont sur fr.comp.applications.sgbd vers où je dirige la suite de la discussion. |
|
|
|
#10 |
|
Messages: n/a
Hébergeur: |
Olivier Miakinen a écrit :
> > 2) Les experts, dont je ne suis pas, sont sur fr.comp.applications.sgbd > vers où je dirige la suite de la discussion. Dommage ... j'étais en train d'apprendre des trucs là. C'est assez exaspérant de se voir couper les feuilletons comme ça. Où est donc ma zapette ? que je change de chaine. -- sm |
|
|
|
#11 |
|
Messages: n/a
Hébergeur: |
alainL a présenté l'énoncé suivant :
> CrazyCat a écrit : >> alainL wrote: >>> Et pour la requete: >>> select from.... where nb_petales like '%nb_petales%' ?? >>> elle sera capable de pêcher le "6" dans "5,6,7,8" ?? >> >> Oui mais ce n'est pas "bien", si tu as "16" ou "65", tu auras un retour. >> Tu peux utiliser WHERE FIND_IN_SET('6', nb_petales) >> > > > Probleme de structure du set. J'ai beau jongler avec les guillemets, virgules > et espaces, je ne peux entrer que les valeurs contenant un seul nombre. > Voici la syntaxe de mon set, mySQL(4;0;15) m'a refusé ou modifié pas mal > d'autres. > > set('', '0, 1, 2, 3', '4', '5, 6, 7, 8, 9, 10', '6', '11') > > 4 ou 6 ou 11 sont acceptés et apparaissent dans la table, mais pas "0,1,2,3" Non, pour définir le set dans la structure de la table il faut utiliser la syntaxe suivante : SET('value1','value2',...) Donc en entourant chaque valeur possible (hors combinaisons) par des guillemets : set('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11') Et ensuite quand tu veux faire un UPDATE ou un INSERT, tu fais : update matable set nb_petales='9' where ... update matable set nb_petales='3,4,5' where ... update matable set nb_petales='0,1,2,8,9' where ... -- Olivier Ligny |
|
|
|
#12 |
|
Messages: n/a
Hébergeur: |
O.L. a écrit :
..................... > Non, pour définir le set dans la structure de la table il faut utiliser > la syntaxe suivante : > SET('value1','value2',...) > > Donc en entourant chaque valeur possible (hors combinaisons) par des > guillemets : > set('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11') > > Et ensuite quand tu veux faire un UPDATE ou un INSERT, tu fais : > update matable set nb_petales='9' where ... > update matable set nb_petales='3,4,5' where ... > update matable set nb_petales='0,1,2,8,9' where ... > Ce qui permettrait de modifier les valeurs du SET et de remplacer par exemple '0' par '0,1,2,3' ??? Si oui, je n'ai pas trouvé la bonne syntaxe: update maflore set nbpetales='0,1,2,3' where nbpetales='0' ne marche pas (ni avant en modifiant la structure, ni après saisie du 0 ) -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#13 |
|
Messages: n/a
Hébergeur: |
alainL a formulé ce vendredi :
> O.L. a écrit : > .................... >> Non, pour définir le set dans la structure de la table il faut utiliser la >> syntaxe suivante : >> SET('value1','value2',...) >> >> Donc en entourant chaque valeur possible (hors combinaisons) par des >> guillemets : >> set('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11') >> >> Et ensuite quand tu veux faire un UPDATE ou un INSERT, tu fais : >> update matable set nb_petales='9' where ... >> update matable set nb_petales='3,4,5' where ... >> update matable set nb_petales='0,1,2,8,9' where ... >> > > > Ce qui permettrait de modifier les valeurs du SET et de remplacer par exemple > '0' par '0,1,2,3' ??? > Si oui, je n'ai pas trouvé la bonne syntaxe: > update maflore set nbpetales='0,1,2,3' where nbpetales='0' > ne marche pas (ni avant en modifiant la structure, ni après saisie du 0 ) Ne marche pas = message d'erreur ? ou alors aucun changement visible ? Es tu sûr d'avoir bien modifié le type du champ ? Eventuellement, copie-colle la structure de la table et quelques données ici. Ta requête signifie que tu veux que toutes les fleurs proposant 0 pétales proposent désormais le choix entre 0, 1, 2, ou 3 pétales. Dans mon exemple, je pensais plus attribuer un choix possible à une fleur donnée : update matable set nb_petales='3,6,9' where nom='rose' => pour la fleur 'rose', le choix de l'acheteur sera désormais possible entre 3, 6, et 9 pétales. -- Olivier Ligny |
|
|
|
#14 |
|
Messages: n/a
Hébergeur: |
O.L. a écrit :
> alainL a formulé ce vendredi : >> O.L. a écrit : >> .................... >>> Non, pour définir le set dans la structure de la table il faut >>> utiliser la syntaxe suivante : >>> SET('value1','value2',...) >>> >>> Donc en entourant chaque valeur possible (hors combinaisons) par des >>> guillemets : >>> set('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11') >>> >>> Et ensuite quand tu veux faire un UPDATE ou un INSERT, tu fais : >>> update matable set nb_petales='9' where ... >>> update matable set nb_petales='3,4,5' where ... >>> update matable set nb_petales='0,1,2,8,9' where ... >>> >> >> >> Ce qui permettrait de modifier les valeurs du SET et de remplacer par >> exemple '0' par '0,1,2,3' ??? >> Si oui, je n'ai pas trouvé la bonne syntaxe: >> update maflore set nbpetales='0,1,2,3' where nbpetales='0' >> ne marche pas (ni avant en modifiant la structure, ni après saisie du >> 0 ) > > Ne marche pas = message d'erreur ? ou alors aucun changement visible ? pas de changement. > Es tu sûr d'avoir bien modifié le type du champ ? voici un bout de la structure avant (ou après) requete CHAMP TYPE VAL nervures enum('', 'parallèles', 'simples', 'lobées') nbpetales set('', '1', '4', '5', '11') petales enum('', 'identiques', 'différents') > Eventuellement, copie-colle la structure de la table et quelques données > ici. > > Ta requête signifie que tu veux que toutes les fleurs proposant 0 > pétales proposent désormais le choix entre 0, 1, 2, ou 3 pétales. > > Dans mon exemple, je pensais plus attribuer un choix possible à une > fleur donnée : > update matable set nb_petales='3,6,9' where nom='rose' > => pour la fleur 'rose', le choix de l'acheteur sera désormais possible > entre 3, 6, et 9 pétales. Je crée ma table en entrant les critères de chq fleur. Le visiteur qui veut déterminer une fleur entre ses critères et la table renvoie les fleurs correspondant. Ca marche ici (mais sans nb pétales!): http://jarailet.club.fr/herbier/choixcriteres.htm le problème vient de certaines fleurs qui peuvent avoir un nb de pétales variable ! Il me faudrait donc un set qui accepterait 0,1,2,3 4 5, 6,7,8,9,10 11 Mais je crois que je vais faire deux champs nb mini et nb maxi et un between (tiens, au fait , un between 4 et 4 renvoie bien 4 ? ) -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#15 |
|
Messages: n/a
Hébergeur: |
Le 28/03/2008 18:25, alainL a écrit :
>>> >>> update maflore set nbpetales='0,1,2,3' where nbpetales='0' > > CHAMP TYPE VAL > nervures enum('', 'parallèles', 'simples', 'lobées') > nbpetales set('', '1', '4', '5', '11') On dirait que ton champ nbpetales n'est pas prévu pour recevoir les valeurs 0, 2 et 3. |
|
|
|
#16 |
|
Messages: n/a
Hébergeur: |
alainL a écrit :
> > La solution de créer une seconde table ne me semble pas bien pratique > (mais je suis newbee!)... Je n'y connais rien mais ... je crois bien que c'est comme ça que ça fonctionne. Du moins si on retrouve souvent le même nombre de pétales. Du moins si un nombre de pétales peut être associé à un genre, une famille. Du moins si on veut pouvoir compléter ses tables (rajouter la famille relative au nombre de pétales) table fleurs (id, nom, genre, description, images(s), pétales) table pétales : (id, nbre (chiffres), nbre (lettres), genre(s)? 1 | 5,7 | 5 ou sept pétages 2 | 9 | 9 pétales 3 | 9,11| 9 ou 11 pétales 3 | 7-11| de 9 à 11 pétales et pour la table 'fleur' à la colonne pétales on donne l'id kivabien de la table des pétales (ou les id kivontbien ?) > Je crois que je vais faire deux champs: un min > et un max et utiliser between... Ben ... j'avais compris qu'on pouvait avoir des fleurs à 5, 7 ou 9 pétales. Si tu dis qu'elle a entre 5 et 9 pétales ce sera inexact. Comment feras-tu une recherche de toutes les fleurs qui ont 6 pétales ? La recherche entre un mini et un maxi va te donner les 400 fiches (ou pas loin). Autant ne pas ouvrir une(des) colonne(s) pour le nbre de pétales et le taper en dur dans chaque descriptif. Et pour 'genre' dans 'fleur' hop! une table pour la description de chaque genre genre : nom commun, latin, descriptif sommaire, détaillé, annecdotes, ... Dans la table 'fleur' à 'genre' tu n'indiques que le nom commun. Après, avec ça et en passant par la table 'genre', chaque fiche de fleur à faire afficher pourra se faire automatiquement et même avec la totale si tu veux. Pour images ce peut être pareil : id (celui de la fleur), miniature, grande-photo, vue1, vue2, ... > Et c'est reparti pour 400 X 2 saisies :-((( > A moins qu'une âme charitable de ce nouveau forum ne me trouve la > solution miracle :-))) si c'est pour juste faire une table comme on pourrait faire un tableau de tableur, c'est sous employer le côté sgbd de MySql. -- sm |
|
|
|
#17 |
|
Messages: n/a
Hébergeur: |
Olivier Miakinen a écrit :
> Le 28/03/2008 18:25, alainL a écrit : >>>> update maflore set nbpetales='0,1,2,3' where nbpetales='0' >> CHAMP TYPE VAL >> nervures enum('', 'parallèles', 'simples', 'lobées') >> nbpetales set('', '1', '4', '5', '11') > > On dirait que ton champ nbpetales n'est pas prévu pour recevoir les > valeurs 0, 2 et 3. J'ai en gros quatre types de petales. Un groupe ou je vais loger '0,1,2,3' pétales / un gr pour les fleurs à 4 (sympas celles_là !) /un gr pour '5,6,7,8,9,10' et un dernier gr ou je rentrerai '11' mais qui en fait accueillera tout ce qui est > 10 Donc, si l'update proposé par OL marche, je vais remplacer 1 par 0,1,2,3..et '5' par '5,6,7,8,9,10' -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#18 |
|
Messages: n/a
Hébergeur: |
alainL a écrit :
> > le problème vient de certaines fleurs qui peuvent avoir un nb de pétales > variable ! Il me faudrait donc un set qui accepterait > 0,1,2,3 > 4 > 5, 6,7,8,9,10 > 11 Meu non ... et si je n'm'égare pas : c'est à la colonne 'petales de la table 'fleur' que tu vas "setter" les différents niveaux de la table 'pétale' qui vont bien pétales : id | nbre | genre associé 1 | 5 | renoncules, shmilblic, ... 2 | 6 | je sais pas koi 3 | 5,7,9 | anémoninadées fleurs id | nom | petales | etc etc 1 | truc | 2, 3 | <-- donc 5,6,7 ou 9 pétales c'est un peu un casse-tête à mettre en place mais ... comme c'est pratique après ! :-) -- sm |
|
|
|
#19 |
|
Messages: n/a
Hébergeur: |
SAM a écrit :
> alainL a écrit : .................. >> Je crois que je vais faire deux champs: un min et un max et utiliser >> between... > > Ben ... j'avais compris qu'on pouvait avoir des fleurs à 5, 7 ou 9 > pétales. Si tu dis qu'elle a entre 5 et 9 pétales ce sera inexact. > > Comment feras-tu une recherche de toutes les fleurs qui ont 6 pétales ? > La recherche entre un mini et un maxi va te donner les 400 fiches (ou > pas loin). Autant ne pas ouvrir une(des) colonne(s) pour le nbre de > pétales et le taper en dur dans chaque descriptif. > .................. Ma table contient NOM COULEUR(listbox)FEUILLES(listbox)NBminiPétales Nbmaxpetales anemone blanc simples 5 10 parnassie blanc simple 5 5 arabette blanc simple 4 4 asphodèle blanc nervures parallèles 6 6 L'utilisateur qui aura à identifier une anémone et qui entrera blanc/simple/6 obtiendra anémone (et toutes les autres blanches, feuilles simples ayant de 5 à 10 petales mais il y a d'autres critères :-))) le principe fonctionne déjà mais sans le critère "nb petales" http://jarailet.club.fr/herbier/choixcriteres.htm -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#20 |
|
Messages: n/a
Hébergeur: |
alainL a pensé très fort :
> O.L. a écrit : >> Es tu sûr d'avoir bien modifié le type du champ ? > voici un bout de la structure avant (ou après) requete > CHAMP TYPE VAL > nervures enum('', 'parallèles', 'simples', 'lobées') > nbpetales set('', '1', '4', '5', '11') > petales enum('', 'identiques', 'différents') Arg ! Ton SET est mal défini ! Là il ne peut accepter que les valeurs : 1, 4, 5, et 11 pétales ... Il faut le redéfinir en mettant : set('', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11') -- Olivier Ligny |
|
|
|
#21 |
|
Messages: n/a
Hébergeur: |
alainL a écrit :
> SAM a écrit : > > Ma table contient > NOM COULEUR(listbox)FEUILLES(listbox)NBminiPétales Nbmaxpetales > anemone blanc simples 5 10 > parnassie blanc simple 5 5 > arabette blanc simple 4 4 > asphodèle blanc nervures parallèles 6 6 > > L'utilisateur qui aura à identifier une anémone et qui entrera > blanc/simple/6 obtiendra anémone (et toutes les autres blanches, > feuilles simples ayant de 5 à 10 petales mais il y a d'autres critères > :-))) Parce que tu te limites là à l'identification par un certain nombre de repères. Ta table ne sert pas à donner la fiche de l'anémone ou alors elle sera fausse puisqu'une anémone ne peut avoir que 5, 7 ou 9 pétales > le principe fonctionne déjà mais sans le critère "nb petales" > http://jarailet.club.fr/herbier/choixcriteres.htm Si j'ai bien compris c'est un simple tableau. Je me demande si c'est bien la peine de déranger MySql uniquement pour ça. (un simple fichier texte pourrait suffire me semble-ce). Mébon, peut-être ça servira pour développer les pages personnalisées des fleurs ? Pour le résultat de la recherche ce serait sympa que la tête de colonne reste fixe qu'on puisse voir à quoi correspondent : simples différents séparés En tous cas bravo pour ce site très riche. -- sm |
|
|
|
#22 |
|
Messages: n/a
Hébergeur: |
SAM a écrit :
> alainL a écrit : >> SAM a écrit : >> >> Ma table contient >> NOM COULEUR(listbox)FEUILLES(listbox)NBminiPétales Nbmaxpetales >> anemone blanc simples 5 10 >> parnassie blanc simple 5 5 >> arabette blanc simple 4 4 >> asphodèle blanc nervures parallèles 6 6 >> >> L'utilisateur qui aura à identifier une anémone et qui entrera >> blanc/simple/6 obtiendra anémone (et toutes les autres blanches, >> feuilles simples ayant de 5 à 10 petales mais il y a d'autres critères >> :-))) > > Parce que tu te limites là à l'identification par un certain nombre de > repères. > Ta table ne sert pas à donner la fiche de l'anémone > ou alors elle sera fausse puisqu'une anémone ne peut avoir que 5, 7 ou 9 > pétales C'était un exemple incomplet(sorry) : elle peut avoir de 5 à 12 pétales (donc 5<= nb petales <= 12 ).... tu vois comment je vais régler la chose ! > >> le principe fonctionne déjà mais sans le critère "nb petales" >> http://jarailet.club.fr/herbier/choixcriteres.htm > Si j'ai bien compris c'est un simple tableau. Suivant les critères entrés, on va obtenir un choix plus ou moins large présenté dans un tableau mais d'où seront exclues les fleurs d'une autre couleur, à feuilles différentes, etc... Bien sûr, je ne peux pas entrer tous les critères pour une détermination exacte (de même qu'à 4 pattes dans les rochers, ma flore sous le nez, je suis encore assez souvent dans le doute !) C'est pour tenter de réduire le nombre de propositions renvoyées que j'essaie d'ajouter le nb de pétales. > Je me demande si c'est bien la peine de déranger MySql uniquement pour > ça. (un simple fichier texte pourrait suffire me semble-ce). Comment faire cette requête sur un fichier texte ?? $sql = "SELECT nom, lien, vignette, fleur, nervures, petales, corolle, couleur, lumiere, terrain, altitude FROM floresoule1 WHERE fleur like '%$fleur%' and nervures like '%$nervures%' and petales like '%$petales%' and corolle like '%$corolle%' and couleur like '%$couleur%' and lumiere like '%$lumiere%' and terrain like '%$terrain%' and altitude like '%$altitude%' ORDER BY nom"; > > Mébon, peut-être ça servira pour développer les pages personnalisées des > fleurs ? C'est fait et accessible par un lien inclus dans le tableau renvoyé. > > Pour le résultat de la recherche ce serait sympa que la tête de colonne > reste fixe qu'on puisse voir à quoi correspondent : > simples différents séparés Je vais essayer... après avoir compté mes pétales :-)) > Merci pour ton intérêt à mon problème. -- Alain L Mon village en Haute Soule : http://jarailet.club.fr Carnet de voyages: http://jarailet.club.fr/Randobal |
|
|
|
#23 |
|
Messages: n/a
Hébergeur: |
alainL a écrit :
> SAM a écrit : >> Ta table ne sert pas à donner la fiche de l'anémone >> ou alors elle sera fausse puisqu'une anémone ne peut avoir que 5, 7 ou 9 >> pétales > > C'était un exemple incomplet(sorry) : elle peut avoir de 5 à 12 pétales > (donc 5<= nb petales <= 12 ).... tu vois comment je vais régler la chose ! C'était un exemple, peut importe lequel ni si ça concerne l'anémone. Exemple où le nbre de pétales est déterminé tel que 5, 7 ou 9 mébon, puisqu'en fait ça ne semble plus être de mise. >>> http://jarailet.club.fr/herbier/choixcriteres.htm >> Si j'ai bien compris c'est un simple tableau. > > Suivant les critères entrés, on va obtenir un choix plus ou moins large > présenté dans un tableau Non, je voulais dire : - les données sont dans une simple table - ce qui est la même chose qu'un tableau de tableur - et peut être réduit à un simple fichier texte (comme *.cvs) > C'est pour tenter de réduire le nombre de propositions renvoyées que > j'essaie d'ajouter le nb de pétales. Le nombre de pétales ne vient qu'en éclairage de l'exploitation d'une table. (comme on n'y connait rien en fleurs de ttes façons :-) ) >> Je me demande si c'est bien la peine de déranger MySql uniquement pour >> ça. (un simple fichier texte pourrait suffire me semble-ce). > > Comment faire cette requête sur un fichier texte ?? Boudiou ! avec la fonction foreach tu peux faire beaucoup :-) Mais là il suffit de lire le fichier ligne à ligne et de voir que toutes les conditions y soient (grosso modo le search de chaque mot-clé dans la ligne soit à true) puis de passer une routine sur la ligne pour qu'elle s'écrive en TR de table html. Bon, un poil plus compliqué maintenant avec le nim-max des pétales qui va sans doute nécessiter 2 ou 3 lignes de plus (et allonger le temps de traitement). >> Mébon, peut-être ça servira pour développer les pages personnalisées des >> fleurs ? > > C'est fait et accessible par un lien inclus dans le tableau renvoyé. J'avais vu mais ce n'est pas ce que je voulais dire. Comme tes fichiers de fleurs étaient sans doute pré-existants ça ne fait que pointer sur eux, non ? Je parlais de se passer de ces fichiers et qu'au clic le php aille re-créer la fiche (ou fichier html) de la fleur (possiblement avec un choix par l'utilisateur du détail de cette fiche). Sur la fiche de la fleur, par le biais d'une autre table (celle des randos) ou de la même complétée, hop! la liste de tes chemins où tu l'as vue. >> Pour le résultat de la recherche ce serait sympa que la tête de colonne >> reste fixe qu'on puisse voir à quoi correspondent : >> simples différents séparés > > Je vais essayer... après avoir compté mes pétales :-)) He bé ! on n'est pas rendu ! (s'il faut aller refaire tous les chemins de la Soule par toutes saisons recompter à 4 pattes les pétales) :-) -- sm |
|
![]() |
| Outils de la discussion | |
|
|