Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de selection par code postaux. Je m’explique : quand je sélectionne un pays, on me propose les codes postaux puis les villes.
Merci de votre aides
pierre_kuhn
Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de selection par code postaux. Je m’explique : quand je sélectionne un pays, on me propose les codes postaux puis les villes.
Merci de votre aides
pierre_kuhn
hello,
perso, je partirai sur un truc en ajax. tous les pays, villes et codes
postaux dans une table. un evenement onchange sur le pays (ou un event
en jquery) qui appelle une page (spip.php?page=codespostaux) en ajax. et
dans codespostaux.html, tu recuperes la variable postée et tu fais une
boucle sur ta table pour ne sortir que les codes postaux de ce pays.
un truc comme ca devrait rendre pas mal.
pour la fonction ajax, tu peux faire un truc comme ca :
function checkCP(pays) {
$.post("spip.php?page=codespostaux",
{
pays : pays
},
function(data){
$('#results').html(data);
});
}
ca mettra dans un <div id="results"></div> la liste des codes postaux du
pays. (c'est un exemple, a toi de tuner ca comme tu veux)
Chag
Pierre KUHN a écrit :
Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de selection par
code postaux. Je m'explique : quand je sélectionne un pays, on me
propose les codes postaux puis les villes.Merci de votre aides
pierre_kuhn
------------------------------------------------------------------------
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.netInfos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)
Je suis partis sur un table avec le nom de tous les pays puis une table par pays
Mais c peut etre pas la bonne solution
A vous lire
pierre_kuhn
Le 8 avril 2009 10:53, chag <chagam@gmail.com> a écrit :
hello,
perso, je partirai sur un truc en ajax. tous les pays, villes et codes
postaux dans une table. un evenement onchange sur le pays (ou un event
en jquery) qui appelle une page (spip.php?page=codespostaux) en ajax. et
dans codespostaux.html, tu recuperes la variable postée et tu fais une
boucle sur ta table pour ne sortir que les codes postaux de ce pays.un truc comme ca devrait rendre pas mal.
pour la fonction ajax, tu peux faire un truc comme ca :
function checkCP(pays) {
$.post(« spip.php?page=codespostaux »,
{
pays : pays
},
function(data){
$(‹ #results ›).html(data);
});}
ca mettra dans un
la liste des codes postaux du
pays. (c’est un exemple, a toi de tuner ca comme tu veux)Chag
Pierre KUHN a écrit :
Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de selection par
code postaux. Je m’explique : quand je sélectionne un pays, on me
propose les codes postaux puis les villes.Merci de votre aides
pierre_kuhn
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.netInfos et archives : http://listes.rezo.net/mailman/listinfo/spip
Documentation de SPIP : http://www.spip.net/
irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
–
« Ca ne marche pas » ne veut rien dire. Alors ne dites rien (ou développez !)
« it doesn’t work » means nothing. So, say nothing (or say more !)
Je ne suis pas dbdesigner mais je ferai un truc dans le genre :
Table Pays
id_pays (int)
nom_pays (varchar 200)
Table cp
id_cp (int)
id_pays (int)
code_cp (varchar 10)
nom_cp (varchar 200)
Table ville
id_ville (int)
id_cp (int)
nom_ville (varchar 200)
ca depend un peu des données que tu as et de la souplesse que tu veux
donner au truc et de l'importance de la vitesse et du poids de la base.
tu peux aussi faire un truc un peu plus cochon du genre :
Table geo
id_geo
nom_pays
code_cp
nom_cp
nom_ville
mais ca t'oblige a avoir a chaque fois le nom_pays et le code_cp quand
tu cherches une ville (ou la liste des villes d'un cp). Alors qu'avec la
premiere solution, rien qu'avec le id_cp, tu peux retrouver une ville
(ou la liste des villes d'un cp)
mais comme je disais, je suis pas un pro dans le domaine ![]()
Chag
Pierre KUHN a écrit :
Je suis partis sur un table avec le nom de tous les pays puis une table
par pays
Mais c peut etre pas la bonne solutionA vous lire
pierre_kuhn
Le 8 avril 2009 10:53, chag <chagam@gmail.com <mailto:chagam@gmail.com>>
a écrit :hello,
perso, je partirai sur un truc en ajax. tous les pays, villes et codes
postaux dans une table. un evenement onchange sur le pays (ou un event
en jquery) qui appelle une page (spip.php?page=codespostaux) en ajax. et
dans codespostaux.html, tu recuperes la variable postée et tu fais une
boucle sur ta table pour ne sortir que les codes postaux de ce pays.un truc comme ca devrait rendre pas mal.
pour la fonction ajax, tu peux faire un truc comme ca :
function checkCP(pays) {
$.post("spip.php?page=codespostaux",
{
pays : pays
},
function(data){
$('#results').html(data);
});}
ca mettra dans un <div id="results"></div> la liste des codes postaux du
pays. (c'est un exemple, a toi de tuner ca comme tu veux)Chag
Pierre KUHN a écrit :
> Bonjour à tous
>
> Je cherche à faire sur mon formulaire CVT un systeme de selection par
> code postaux. Je m'explique : quand je sélectionne un pays, on me
> propose les codes postaux puis les villes.
>
> Merci de votre aides
>
> pierre_kuhn
>
>
>
------------------------------------------------------------------------
>
> _______________________________________________
> liste spip
> spip@rezo.net <mailto:spip@rezo.net> - désabonnement :
spip-off@rezo.net <mailto:spip-off@rezo.net>
>
> Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
>
> Documentation de SPIP : http://www.spip.net/
>
> irc://irc.freenode.net/spip <http://irc.freenode.net/spip> ou
http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
<http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip>--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou
développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)
--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)
voici comment je monte mets table
pays :
CREATE TABLE pays (
rowid int(11) NOT NULL auto_increment,
code varchar(2) NOT NULL,
fr varchar(255) NOT NULL,
en varchar(255) default NULL,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
et chaque pays a une table
CREATE TABLE france (
rowid int(11) NOT NULL auto_increment,
CP varchar(5) NOT NULL default ‹ ›,
Ville varchar(50) NOT NULL default ‹ ›,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
donc quand sur le formulaire je selectionne le pays, il va me sortir dans un autre champs les cp du pays , j eprend un cp et je vois les diffrentes ville de ce cp apparaitre
pierre_kuhn
Le 8 avril 2009 11:37, chag <chagam@gmail.com> a écrit :
Je ne suis pas dbdesigner mais je ferai un truc dans le genre :
Table Pays
id_pays (int)
nom_pays (varchar 200)Table cp
id_cp (int)
id_pays (int)
code_cp (varchar 10)
nom_cp (varchar 200)Table ville
id_ville (int)
id_cp (int)
nom_ville (varchar 200)ca depend un peu des données que tu as et de la souplesse que tu veux
donner au truc et de l’importance de la vitesse et du poids de la base.tu peux aussi faire un truc un peu plus cochon du genre :
Table geo
id_geo
nom_pays
code_cp
nom_cp
nom_villemais ca t’oblige a avoir a chaque fois le nom_pays et le code_cp quand
tu cherches une ville (ou la liste des villes d’un cp). Alors qu’avec la
premiere solution, rien qu’avec le id_cp, tu peux retrouver une ville
(ou la liste des villes d’un cp)mais comme je disais, je suis pas un pro dans le domaine
Chag
Pierre KUHN a écrit :
Je suis partis sur un table avec le nom de tous les pays puis une table
par pays
Mais c peut etre pas la bonne solutionA vous lire
pierre_kuhn
Le 8 avril 2009 10:53, chag <chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>
a écrit :
hello,
perso, je partirai sur un truc en ajax. tous les pays, villes et codes
postaux dans une table. un evenement onchange sur le pays (ou un event
en jquery) qui appelle une page (spip.php?page=codespostaux) en ajax. et
dans codespostaux.html, tu recuperes la variable postée et tu fais une
boucle sur ta table pour ne sortir que les codes postaux de ce pays.un truc comme ca devrait rendre pas mal.
pour la fonction ajax, tu peux faire un truc comme ca :
function checkCP(pays) {
$.post(« spip.php?page=codespostaux »,
{
pays : pays
},
function(data){
$(‹ #results ›).html(data);
});}
ca mettra dans un
la liste des codes postaux du
pays. (c’est un exemple, a toi de tuner ca comme tu veux)Chag
Pierre KUHN a écrit :
Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de selection par
code postaux. Je m’explique : quand je sélectionne un pays, on me
propose les codes postaux puis les villes.Merci de votre aides
pierre_kuhn
Pierre KUHN a écrit :
voici comment je monte mets table
pays :
CREATE TABLE `pays` (
`rowid` int(11) NOT NULL auto_increment,
`code` varchar(2) NOT NULL,
`fr` varchar(255) NOT NULL,
`en` varchar(255) default NULL,
PRIMARY KEY (`rowid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;et chaque pays a une table
CREATE TABLE `france` (
`rowid` int(11) NOT NULL auto_increment,
`CP` varchar(5) NOT NULL default '',
`Ville` varchar(50) NOT NULL default '',
PRIMARY KEY (`rowid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
fais plutot une table pays dans ce genre :
CREATE TABLE `pays` (
`rowid` int(11) NOT NULL auto_increment,
`paysid` int(11) NOT NULL,
`CP` varchar(5) NOT NULL default '',
`Ville` varchar(50) NOT NULL default '',
PRIMARY KEY (`rowid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
De cette facon, chaque cp et ville sera rattaché a un pays. Ca t'evite
de faire une table par pays. Ce qui peut etre un peu chiant a gerer
quand tu auras plusiuers pays.
accessoirement, le engine InnoDB, c'est plutot typé transactionnel.
c'est pas vraiment ton type d'utilisation.
myisam devrait largement suffire
donc quand sur le formulaire je selectionne le pays, il va me sortir
dans un autre champs les cp du pays , j eprend un cp et je vois les
diffrentes ville de ce cp apparaitre
c'est pas magique mais dans le principe, oui.
pierre_kuhn
Le 8 avril 2009 11:37, chag <chagam@gmail.com <mailto:chagam@gmail.com>>
a écrit :Je ne suis pas dbdesigner mais je ferai un truc dans le genre :
Table Pays
id_pays (int)
nom_pays (varchar 200)Table cp
id_cp (int)
id_pays (int)
code_cp (varchar 10)
nom_cp (varchar 200)Table ville
id_ville (int)
id_cp (int)
nom_ville (varchar 200)ca depend un peu des données que tu as et de la souplesse que tu veux
donner au truc et de l'importance de la vitesse et du poids de la base.tu peux aussi faire un truc un peu plus cochon du genre :
Table geo
id_geo
nom_pays
code_cp
nom_cp
nom_villemais ca t'oblige a avoir a chaque fois le nom_pays et le code_cp quand
tu cherches une ville (ou la liste des villes d'un cp). Alors qu'avec la
premiere solution, rien qu'avec le id_cp, tu peux retrouver une ville
(ou la liste des villes d'un cp)mais comme je disais, je suis pas un pro dans le domaine
Chag
Pierre KUHN a écrit :
> Je suis partis sur un table avec le nom de tous les pays puis une
table
> par pays
> Mais c peut etre pas la bonne solution
>
> A vous lire
>
> pierre_kuhn
>
> Le 8 avril 2009 10:53, chag <chagam@gmail.com
<mailto:chagam@gmail.com> <mailto:chagam@gmail.com
<mailto:chagam@gmail.com>>>
> a écrit :
>
> hello,
>
> perso, je partirai sur un truc en ajax. tous les pays, villes
et codes
> postaux dans une table. un evenement onchange sur le pays (ou
un event
> en jquery) qui appelle une page (spip.php?page=codespostaux)
en ajax. et
> dans codespostaux.html, tu recuperes la variable postée et tu
fais une
> boucle sur ta table pour ne sortir que les codes postaux de ce
pays.
>
> un truc comme ca devrait rendre pas mal.
>
> pour la fonction ajax, tu peux faire un truc comme ca :
>
> function checkCP(pays) {
> $.post("spip.php?page=codespostaux",
> {
> pays : pays
> },
> function(data){
> $('#results').html(data);
> });
>
> }
>
> ca mettra dans un <div id="results"></div> la liste des codes
postaux du
> pays. (c'est un exemple, a toi de tuner ca comme tu veux)
>
> Chag
>
> Pierre KUHN a écrit :
> > Bonjour à tous
> >
> > Je cherche à faire sur mon formulaire CVT un systeme de
selection par
> > code postaux. Je m'explique : quand je sélectionne un pays,
on me
> > propose les codes postaux puis les villes.
> >
> > Merci de votre aides
> >
> > pierre_kuhn
--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)
Salut
est ce que tu sais faire dans un formulaire un champ "pays"on l’on choisis paysid affichier les codes postaux en fonction du dernier choix
Le 8 avril 2009 17:34, chag <chagam@gmail.com> a écrit :
entre 5 (1 par pays) tables de 1000 villes et 1 table de 5000 villes…
ca doit se valoir.le probleme avec ta solution (1 table par pays), c’est que tu dois
definir quelle table interroger selon le pays. Le jour ou tu rajoutes un
pays, tu dois aller dans le code pour dire ‹ si tel pays alors telle
table ›. Bien sur, tu peux bidouiller en faisant correspondre le nom du
pays avec le nom de la table mais c’est pas super propre. alors qu’avec
seulement 2 tables, le nom de la tables des vilels a interroger est
toujours le meme.Chag
Pierre KUHN a écrit :
Dans ce cas ça fait un fichier de donnees enorme non ?
car si j’ai bien compristu me fais faire un table avec touspierre-kuhn
Le 8 avril 2009 13:01, chag <chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>
a écrit :
Pierre KUHN a écrit :
voici comment je monte mets table
pays :
CREATE TABLEpays(
rowidint(11) NOT NULL auto_increment,
codevarchar(2) NOT NULL,
frvarchar(255) NOT NULL,
envarchar(255) default NULL,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;et chaque pays a une table
CREATE TABLEfrance(
rowidint(11) NOT NULL auto_increment,
CPvarchar(5) NOT NULL default ‹ ›,
Villevarchar(50) NOT NULL default ‹ ›,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;fais plutot une table pays dans ce genre :
CREATE TABLE
pays(
rowidint(11) NOT NULL auto_increment,
paysidint(11) NOT NULL,
CPvarchar(5) NOT NULL default ‹ ›,
Villevarchar(50) NOT NULL default ‹ ›,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;De cette facon, chaque cp et ville sera rattaché a un pays. Ca t’evite
de faire une table par pays. Ce qui peut etre un peu chiant a gerer
quand tu auras plusiuers pays.accessoirement, le engine InnoDB, c’est plutot typé transactionnel.
c’est pas vraiment ton type d’utilisation.myisam devrait largement suffire
donc quand sur le formulaire je selectionne le pays, il va me sortir
dans un autre champs les cp du pays , j eprend un cp et je vois les
diffrentes ville de ce cp apparaitrec’est pas magique mais dans le principe, oui.
pierre_kuhn
Le 8 avril 2009 11:37, chag <chagam@gmail.com
mailto:[chagam@gmail.com](mailto:chagam@gmail.com) <mailto:chagam@gmail.com
mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>>a écrit :
Je ne suis pas dbdesigner mais je ferai un truc dans le genre :
Table Pays
id_pays (int)
nom_pays (varchar 200)Table cp
id_cp (int)
id_pays (int)
code_cp (varchar 10)
nom_cp (varchar 200)Table ville
id_ville (int)
id_cp (int)
nom_ville (varchar 200)ca depend un peu des données que tu as et de la souplesse que
tu veux
donner au truc et de l’importance de la vitesse et du poids de
la base.tu peux aussi faire un truc un peu plus cochon du genre :
Table geo
id_geo
nom_pays
code_cp
nom_cp
nom_villemais ca t’oblige a avoir a chaque fois le nom_pays et le
code_cp quand
tu cherches une ville (ou la liste des villes d’un cp). Alors
qu’avec la
premiere solution, rien qu’avec le id_cp, tu peux retrouver
une ville
(ou la liste des villes d’un cp)mais comme je disais, je suis pas un pro dans le domaine
Chag
Pierre KUHN a écrit :
Je suis partis sur un table avec le nom de tous les pays
puis une
table
par pays
Mais c peut etre pas la bonne solutionA vous lire
pierre_kuhn
Le 8 avril 2009 10:53, chag <chagam@gmail.com
mailto:[chagam@gmail.com](mailto:chagam@gmail.com)
<mailto:chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>
<mailto:chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)<mailto:chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>>>
a écrit :
hello,
perso, je partirai sur un truc en ajax. tous les pays,
villes
et codes
postaux dans une table. un evenement onchange sur le
pays (ou
un event
en jquery) qui appelle une page (spip.php?page=codespostaux)
en ajax. et
dans codespostaux.html, tu recuperes la variable postée
et tu
fais une
boucle sur ta table pour ne sortir que les codes postaux
de ce
pays.un truc comme ca devrait rendre pas mal.
pour la fonction ajax, tu peux faire un truc comme ca :
function checkCP(pays) {
$.post(« spip.php?page=codespostaux »,
{
pays : pays
},
function(data){
$(‹ #results ›).html(data);
});}
ca mettra dans un
la liste des
codes
postaux du
pays. (c’est un exemple, a toi de tuner ca comme tu veux)Chag
Pierre KUHN a écrit :
Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de
selection par
code postaux. Je m’explique : quand je sélectionne un
pays,
on me
propose les codes postaux puis les villes.Merci de votre aides
pierre_kuhn
–
« Ca ne marche pas » ne veut rien dire. Alors ne dites rien (ou
développez !)
« it doesn’t work » means nothing. So, say nothing (or say more !)–
« Ca ne marche pas » ne veut rien dire. Alors ne dites rien (ou développez !)
« it doesn’t work » means nothing. So, say nothing (or say more !)
Bonjour,
existe t-il un systeme de news (sous forme de breves) pour un espace public ?
merci.
De : Pierre KUHN pierrekuhn82@gmail.com
À : chag chagam@gmail.com; spip@rezo.net
Envoyé le : Jeudi, 9 Avril 2009, 11h40mn 32s
Objet : Re: [Spip] CVT avec selection
Salut
est ce que tu sais faire dans un formulaire un champ "pays"on l’on choisis paysid affichier les codes postaux en fonction du dernier choix
Le 8 avril 2009 17:34, chag <chagam@gmail.com> a écrit :
entre 5 (1 par pays) tables de 1000 villes et 1 table de 5000 villes…
ca doit se valoir.le probleme avec ta solution (1 table par pays), c’est que tu dois
definir quelle table interroger selon le pays. Le jour ou tu rajoutes un
pays, tu dois aller dans le code pour dire ‹ si tel pays alors telle
table ›. Bien sur, tu peux bidouiller en faisant correspondre le nom du
pays avec le nom de la table mais c’est pas super propre. alors qu’avec
seulement 2 tables, le nom de la tables des vilels a interroger est
toujours le meme.Chag
Pierre KUHN a écrit :
Dans ce cas ça fait un fichier de donnees enorme non ?
car si j’ai bien compristu me fais faire un table avec touspierre-kuhn
Le 8 avril 2009 13:01, chag <chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>
a écrit :
Pierre KUHN a écrit :
voici comment je monte mets table
pays :
CREATE TABLEpays(
rowidint(11) NOT NULL auto_increment,
codevarchar(2) NOT NULL,
frvarchar(255) NOT NULL,
envarchar(255) default NULL,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;et chaque pays a une table
CREATE TABLEfrance(
rowidint(11) NOT NULL auto_increment,
CPvarchar(5) NOT NULL default ‹ ›,
Villevarchar(50) NOT NULL default ‹ ›,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;fais plutot une table pays dans ce genre :
CREATE TABLE
pays(
rowidint(11) NOT NULL auto_increment,
paysidint(11) NOT NULL,
CPvarchar(5) NOT NULL default ‹ ›,
Villevarchar(50) NOT NULL default ‹ ›,
PRIMARY KEY (rowid)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;De cette facon, chaque cp et ville sera rattaché a un pays. Ca t’evite
de faire une table par pays. Ce qui peut etre un peu chiant a gerer
quand tu auras plusiuers pays.accessoirement, le engine InnoDB, c’est plutot typé transactionnel.
c’est pas vraiment ton type d’utilisation.myisam devrait largement suffire
donc quand sur le formulaire je selectionne le pays, il va me sortir
dans un autre champs les cp du pays , j eprend un cp et je vois les
diffrentes ville de ce cp apparaitrec’est pas magique mais dans le principe, oui.
pierre_kuhn
Le 8 avril 2009 11:37, chag <chagam@gmail.com
mailto:[chagam@gmail.com](mailto:chagam@gmail.com) <mailto:chagam@gmail.com
mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>>a écrit :
Je ne suis pas dbdesigner mais je ferai un truc dans le genre :
Table Pays
id_pays (int)
nom_pays (varchar 200)Table cp
id_cp (int)
id_pays (int)
code_cp (varchar 10)
nom_cp (varchar 200)Table ville
id_ville (int)
id_cp (int)
nom_ville (varchar 200)ca depend un peu des données que tu as et de la souplesse que
tu veux
donner au truc et de l’importance de la vitesse et du poids de
la base.tu peux aussi faire un truc un peu plus cochon du genre :
Table geo
id_geo
nom_pays
code_cp
nom_cp
nom_villemais ca t’oblige a avoir a chaque fois le nom_pays et le
code_cp quand
tu cherches une ville (ou la liste des villes d’un cp). Alors
qu’avec la
premiere solution, rien qu’avec le id_cp, tu peux retrouver
une ville
(ou la liste des villes d’un cp)mais comme je disais, je suis pas un pro dans le domaine
Chag
Pierre KUHN a écrit :
Je suis partis sur un table avec le nom de tous les pays
puis une
table
par pays
Mais c peut etre pas la bonne solutionA vous lire
pierre_kuhn
Le 8 avril 2009 10:53, chag <chagam@gmail.com
mailto:[chagam@gmail.com](mailto:chagam@gmail.com)
<mailto:chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>
<mailto:chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)<mailto:chagam@gmail.com mailto:[chagam@gmail.com](mailto:chagam@gmail.com)>>>
a écrit :
hello,
perso, je partirai sur un truc en ajax. tous les pays,
villes
et codes
postaux dans une table. un evenement onchange sur le
pays (ou
un event
en jquery) qui appelle une page (spip.php?page=codespostaux)
en ajax. et
dans codespostaux.html, tu recuperes la variable postée
et tu
fais une
boucle sur ta table pour ne sortir que les codes postaux
de ce
pays.un truc comme ca devrait rendre pas mal.
pour la fonction ajax, tu peux faire un truc comme ca :
function checkCP(pays) {
$.post(« spip.php?page=codespostaux »,
{
pays : pays
},
function(data){
$(‹ #results ›).html(data);
});}
ca mettra dans un
la liste des
codes
postaux du
pays. (c’est un exemple, a toi de tuner ca comme tu veux)Chag
Pierre KUHN a écrit :
Bonjour à tous
Je cherche à faire sur mon formulaire CVT un systeme de
selection par
code postaux. Je m’explique : quand je sélectionne un
pays,
on me
propose les codes postaux puis les villes.Merci de votre aides
pierre_kuhn
–
« Ca ne marche pas » ne veut rien dire. Alors ne dites rien (ou
développez !)
« it doesn’t work » means nothing. So, say nothing (or say more !)–
« Ca ne marche pas » ne veut rien dire. Alors ne dites rien (ou développez !)
« it doesn’t work » means nothing. So, say nothing (or say more !)
heu, oui, je saurai le faire. C'est a peu pres ce que j'ai expliqué dans
un des premiers mails non (le 1er il me semble)
Chag
Pierre KUHN a écrit :
Salut
est ce que tu sais faire dans un formulaire un champ "pays"on l'on
choisis paysid affichier les codes postaux en fonction du dernier choixLe 8 avril 2009 17:34, chag <chagam@gmail.com <mailto:chagam@gmail.com>>
a écrit :entre 5 (1 par pays) tables de 1000 villes et 1 table de 5000 villes...
ca doit se valoir.le probleme avec ta solution (1 table par pays), c'est que tu dois
definir quelle table interroger selon le pays. Le jour ou tu rajoutes un
pays, tu dois aller dans le code pour dire 'si tel pays alors telle
table'. Bien sur, tu peux bidouiller en faisant correspondre le nom du
pays avec le nom de la table mais c'est pas super propre. alors qu'avec
seulement 2 tables, le nom de la tables des vilels a interroger est
toujours le meme.Chag
Pierre KUHN a écrit :
> Dans ce cas ça fait un fichier de donnees enorme non ?
> car si j'ai bien compristu me fais faire un table avec tous
>
> pierre-kuhn
>
> Le 8 avril 2009 13:01, chag <chagam@gmail.com
<mailto:chagam@gmail.com> <mailto:chagam@gmail.com
<mailto:chagam@gmail.com>>>
> a écrit :
>
>
>
> Pierre KUHN a écrit :
> > voici comment je monte mets table
> > pays :
> > CREATE TABLE `pays` (
> > `rowid` int(11) NOT NULL auto_increment,
> > `code` varchar(2) NOT NULL,
> > `fr` varchar(255) NOT NULL,
> > `en` varchar(255) default NULL,
> > PRIMARY KEY (`rowid`)
> > ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> >
> > et chaque pays a une table
> > CREATE TABLE `france` (
> > `rowid` int(11) NOT NULL auto_increment,
> > `CP` varchar(5) NOT NULL default '',
> > `Ville` varchar(50) NOT NULL default '',
> > PRIMARY KEY (`rowid`)
> > ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
> >
>
> fais plutot une table pays dans ce genre :
>
> CREATE TABLE `pays` (
> `rowid` int(11) NOT NULL auto_increment,
> `paysid` int(11) NOT NULL,
> `CP` varchar(5) NOT NULL default '',
> `Ville` varchar(50) NOT NULL default '',
> PRIMARY KEY (`rowid`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
>
> De cette facon, chaque cp et ville sera rattaché a un pays. Ca
t'evite
> de faire une table par pays. Ce qui peut etre un peu chiant a
gerer
> quand tu auras plusiuers pays.
>
> accessoirement, le engine InnoDB, c'est plutot typé
transactionnel.
> c'est pas vraiment ton type d'utilisation.
>
> myisam devrait largement suffire
>
> > donc quand sur le formulaire je selectionne le pays, il va
me sortir
> > dans un autre champs les cp du pays , j eprend un cp et je
vois les
> > diffrentes ville de ce cp apparaitre
>
> c'est pas magique mais dans le principe, oui.
>
> >
> > pierre_kuhn
> >
> > Le 8 avril 2009 11:37, chag <chagam@gmail.com
<mailto:chagam@gmail.com>
> <mailto:chagam@gmail.com>
<mailto:chagam@gmail.com
> <mailto:chagam@gmail.com>>>
> > a écrit :
> >
> > Je ne suis pas dbdesigner mais je ferai un truc dans le
genre :
> >
> > Table Pays
> > id_pays (int)
> > nom_pays (varchar 200)
> >
> > Table cp
> > id_cp (int)
> > id_pays (int)
> > code_cp (varchar 10)
> > nom_cp (varchar 200)
> >
> > Table ville
> > id_ville (int)
> > id_cp (int)
> > nom_ville (varchar 200)
> >
> > ca depend un peu des données que tu as et de la
souplesse que
> tu veux
> > donner au truc et de l'importance de la vitesse et du
poids de
> la base.
> >
> > tu peux aussi faire un truc un peu plus cochon du genre :
> >
> > Table geo
> > id_geo
> > nom_pays
> > code_cp
> > nom_cp
> > nom_ville
> >
> > mais ca t'oblige a avoir a chaque fois le nom_pays et le
> code_cp quand
> > tu cherches une ville (ou la liste des villes d'un cp).
Alors
> qu'avec la
> > premiere solution, rien qu'avec le id_cp, tu peux retrouver
> une ville
> > (ou la liste des villes d'un cp)
> >
> > mais comme je disais, je suis pas un pro dans le domaine
> >
> > Chag
> >
> > Pierre KUHN a écrit :
> > > Je suis partis sur un table avec le nom de tous les pays
> puis une
> > table
> > > par pays
> > > Mais c peut etre pas la bonne solution
> > >
> > > A vous lire
> > >
> > > pierre_kuhn
> > >
> > > Le 8 avril 2009 10:53, chag <chagam@gmail.com
<mailto:chagam@gmail.com>
> <mailto:chagam@gmail.com>
> > <mailto:chagam@gmail.com
<mailto:chagam@gmail.com>>
> <mailto:chagam@gmail.com
<mailto:chagam@gmail.com>
> > <mailto:chagam@gmail.com
<mailto:chagam@gmail.com>>>>
> > > a écrit :
> > >
> > > hello,
> > >
> > > perso, je partirai sur un truc en ajax. tous les pays,
> villes
> > et codes
> > > postaux dans une table. un evenement onchange sur le
> pays (ou
> > un event
> > > en jquery) qui appelle une page
(spip.php?page=codespostaux)
> > en ajax. et
> > > dans codespostaux.html, tu recuperes la variable
postée
> et tu
> > fais une
> > > boucle sur ta table pour ne sortir que les codes
postaux
> de ce
> > pays.
> > >
> > > un truc comme ca devrait rendre pas mal.
> > >
> > > pour la fonction ajax, tu peux faire un truc comme
ca :
> > >
> > > function checkCP(pays) {
> > > $.post("spip.php?page=codespostaux",
> > > {
> > > pays : pays
> > > },
> > > function(data){
> > > $('#results').html(data);
> > > });
> > >
> > > }
> > >
> > > ca mettra dans un <div id="results"></div> la
liste des
> codes
> > postaux du
> > > pays. (c'est un exemple, a toi de tuner ca comme
tu veux)
> > >
> > > Chag
> > >
> > > Pierre KUHN a écrit :
> > > > Bonjour à tous
> > > >
> > > > Je cherche à faire sur mon formulaire CVT un
systeme de
> > selection par
> > > > code postaux. Je m'explique : quand je
sélectionne un
> pays,
> > on me
> > > > propose les codes postaux puis les villes.
> > > >
> > > > Merci de votre aides
> > > >
> > > > pierre_kuhn
> >
>
> --
> "Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou
> développez !)
> "it doesn't work" means nothing. So, say nothing (or say more !)
>--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou
développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)
--
"Ca ne marche pas" ne veut rien dire. Alors ne dites rien (ou développez !)
"it doesn't work" means nothing. So, say nothing (or say more !)