je gère un site qui recence un annuaire de clubs.
jusqu'à présent on gérait notre liste par ordre alphabétique, et là on
voudrait mettre une carte (par région) et "coller par dessus" chaque
ville où il y a un club.
Les clubs sont dans une base mysql , donc j'ai eu une idée :
ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque
image de région une zone texte avec le nom du club.
à l'heure actuelle, j'ai créé un tableau de 480x480, l'image de la
région est dans un TD , en background.
problème : je n'ai pas DU TOUT la moindre idée de la méthode
d'affichage.
quelqu'un a t-il une idée ?
merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume Bouchard
*yes* wrote:
Aidez moi, je cale !!
Cela arrive, après le bonjour normalement ?
Bonjour,
Bonjour :)
je gère un site qui recence un annuaire de clubs. jusqu'à présent on gérait notre liste par ordre alphabétique, et là on voudrait mettre une carte (par région) et "coller par dessus" chaque ville où il y a un club.
Ok.
Les clubs sont dans une base mysql , donc j'ai eu une idée : ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque image de région une zone texte avec le nom du club.
Ok.
problème : je n'ai pas DU TOUT la moindre idée de la méthode d'affichage.
Deux solutions me viennent à l'esprit :
- Positionenement de ton bloc de text avec des CSS (ou avec les MAP en Html, mais je ne sais plus/pas faire)
je gère un site qui recence un annuaire de clubs.
jusqu'à présent on gérait notre liste par ordre alphabétique, et là on
voudrait mettre une carte (par région) et "coller par dessus" chaque
ville où il y a un club.
Ok.
Les clubs sont dans une base mysql , donc j'ai eu une idée :
ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque
image de région une zone texte avec le nom du club.
Ok.
problème : je n'ai pas DU TOUT la moindre idée de la méthode
d'affichage.
Deux solutions me viennent à l'esprit :
- Positionenement de ton bloc de text avec des CSS (ou avec les MAP en
Html, mais je ne sais plus/pas faire)
je gère un site qui recence un annuaire de clubs. jusqu'à présent on gérait notre liste par ordre alphabétique, et là on voudrait mettre une carte (par région) et "coller par dessus" chaque ville où il y a un club.
Ok.
Les clubs sont dans une base mysql , donc j'ai eu une idée : ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque image de région une zone texte avec le nom du club.
Ok.
problème : je n'ai pas DU TOUT la moindre idée de la méthode d'affichage.
Deux solutions me viennent à l'esprit :
- Positionenement de ton bloc de text avec des CSS (ou avec les MAP en Html, mais je ne sais plus/pas faire)
Les clubs sont dans une base mysql , donc j'ai eu une idée : ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque image de région une zone texte avec le nom du club.
Bonne idee :)
problème : je n'ai pas DU TOUT la moindre idée de la méthode d'affichage
l'image peut etre en background ou ne pas l'etre, cela n'a pas d'importance, car en utilisant des zone div si on met l'attribut position:absolute; le positionnement se superpose aux autres elements
il faut faire attention a internet explorer qui parfoit interprete mal les position absolute des elements cascades
Les div des villes devraient aller par dessus la carte.
***********************************
Ce a quoi il faut faire attention : c'est que dans internet explorer, les "absolute" seront souvent consideres par rapport a la page et non pas par rapport au container. Je ne me souviens plus du truc pour corriger cela, mais c'est tres important de positionner la div externe container, ce sont ses attributs qui influent si le comportement des elements contenus .
************************************
Puisque tu mets l'image en background, tu n'as peut-etre plus besoin de la superposition des absolute et alors l'autre solution est de faire des div relative a la case <td>
Ainsi les villes seront positionnees dans la case.
-- Nadine St-Amand Génération de code, sql2php : http://www.phpbackend.com/
*yes* wrote:
Bonjour,
Bonjour,
Les clubs sont dans une base mysql , donc j'ai eu une idée :
ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque
image de région une zone texte avec le nom du club.
Bonne idee :)
problème : je n'ai pas DU TOUT la moindre idée de la méthode
d'affichage
l'image peut etre en background ou ne pas l'etre, cela n'a pas
d'importance, car en utilisant des zone div
si on met l'attribut position:absolute;
le positionnement se superpose aux autres elements
il faut faire attention a internet explorer qui parfoit interprete mal
les position absolute des elements cascades
Les div des villes devraient aller par dessus la carte.
***********************************
Ce a quoi il faut faire attention :
c'est que dans internet explorer,
les "absolute" seront souvent consideres par rapport a la page et non
pas par rapport au container.
Je ne me souviens plus du truc pour corriger cela, mais c'est tres
important de positionner la div externe container, ce sont ses attributs
qui influent si le comportement des elements contenus .
************************************
Puisque tu mets l'image en background,
tu n'as peut-etre plus besoin de la superposition des absolute
et alors l'autre solution est de faire des div relative a la case <td>
Les clubs sont dans une base mysql , donc j'ai eu une idée : ajouter 2 champs "coordx" et "coordy" , afin d'appliquer sur chaque image de région une zone texte avec le nom du club.
Bonne idee :)
problème : je n'ai pas DU TOUT la moindre idée de la méthode d'affichage
l'image peut etre en background ou ne pas l'etre, cela n'a pas d'importance, car en utilisant des zone div si on met l'attribut position:absolute; le positionnement se superpose aux autres elements
il faut faire attention a internet explorer qui parfoit interprete mal les position absolute des elements cascades
Les div des villes devraient aller par dessus la carte.
***********************************
Ce a quoi il faut faire attention : c'est que dans internet explorer, les "absolute" seront souvent consideres par rapport a la page et non pas par rapport au container. Je ne me souviens plus du truc pour corriger cela, mais c'est tres important de positionner la div externe container, ce sont ses attributs qui influent si le comportement des elements contenus .
************************************
Puisque tu mets l'image en background, tu n'as peut-etre plus besoin de la superposition des absolute et alors l'autre solution est de faire des div relative a la case <td>
Ainsi les villes seront positionnees dans la case.
-- Nadine St-Amand Génération de code, sql2php : http://www.phpbackend.com/
FightClub!
*yes* wrote:
l'image peut etre en background ou ne pas l'etre, cela n'a pas d'importance, car en utilisant des zone div
un peu si quand même en fait :) quand on désactive l'impression des fonds de page dans IE, ça n'imprime plus les background, si c'est une page susceptible d'être imprimée (pour une carte c'est souvent le cas) il vaut mieux superposer plusieurs layer
juste mes 0.01 cts :)
--
http://SurveilleTonSite.sd2i.org Alerte gratuite par mail en cas de problème sur votre site.
*yes* wrote:
l'image peut etre en background ou ne pas l'etre, cela n'a pas
d'importance, car en utilisant des zone div
un peu si quand même en fait :)
quand on désactive l'impression des fonds de page dans IE, ça n'imprime
plus les background, si c'est une page susceptible d'être imprimée (pour
une carte c'est souvent le cas) il vaut mieux superposer plusieurs layer
juste mes 0.01 cts :)
--
http://SurveilleTonSite.sd2i.org
Alerte gratuite par mail en cas de problème sur votre site.
l'image peut etre en background ou ne pas l'etre, cela n'a pas d'importance, car en utilisant des zone div
un peu si quand même en fait :) quand on désactive l'impression des fonds de page dans IE, ça n'imprime plus les background, si c'est une page susceptible d'être imprimée (pour une carte c'est souvent le cas) il vaut mieux superposer plusieurs layer
juste mes 0.01 cts :)
--
http://SurveilleTonSite.sd2i.org Alerte gratuite par mail en cas de problème sur votre site.
P'tit Marcel
*yes* wrote:
je gère un site qui recence un annuaire de clubs. jusqu'à présent on gérait notre liste par ordre alphabétique, et là on voudrait mettre une carte (par région) et "coller par dessus" chaque ville où il y a un club.
Salut,
Voici une solution pas aussi classe que les CSS de guillaume de guillemets ou le "position:absolute" de Nadine. Le code HTML n'est peut-être pas TTA mais en tout cas ça marche avec Mozilla comme avec IE:
# traitement de l'image # ajout des gommettes bleu où ça va bien # et définition des zones actives de l'image list($max_x,$max_y)=getimagesize('France.png'); $image=imagecreatefrompng('France.png'); # une carte de France $rond=imagecreatefrompng('rond.png'); # un rond bleu pour chaque ville $rayon=imagesx($rond)/2; echo "<map name='carte'>n"; for ($i=0; $i< sizeof($tab) ; $i++) { # $x, $y sont les coordonnées de chaque ville # $ville est le nom de la ville list($x,$y,$ville) = explode("|" ,$tab[$i]); # ajout rond bleu sur les coordonnées de la ville imagecopy($image,$rond,max(1,$x-$rayon), max(1,$y-$rayon),0,0,$rayon*2,$rayon*2); # zone cliquable sur le rond echo "<area shape=circle coords='$x,$y,$rayon' href='lapage.php?ville=".urlencode($ville). "' title='$ville' alt='$ville'>n"; } echo "</map>n";
# création d'un fichier temporaire # (nb: le user nobody doit avoir l'accès en écriture au fichier créé) $ret=imagepng($image,'./Francetemp.png'); if (!$ret) echo "Erreur: le fichier Francetemp.png doit être en accès libre!<br>";
je gère un site qui recence un annuaire de clubs.
jusqu'à présent on gérait notre liste par ordre alphabétique, et là on
voudrait mettre une carte (par région) et "coller par dessus" chaque
ville où il y a un club.
Salut,
Voici une solution pas aussi classe que les CSS de guillaume de
guillemets ou le "position:absolute" de Nadine. Le code HTML n'est
peut-être pas TTA mais en tout cas ça marche avec Mozilla comme avec IE:
# traitement de l'image
# ajout des gommettes bleu où ça va bien
# et définition des zones actives de l'image
list($max_x,$max_y)=getimagesize('France.png');
$image=imagecreatefrompng('France.png'); # une carte de France
$rond=imagecreatefrompng('rond.png'); # un rond bleu pour chaque ville
$rayon=imagesx($rond)/2;
echo "<map name='carte'>n";
for ($i=0; $i< sizeof($tab) ; $i++) {
# $x, $y sont les coordonnées de chaque ville
# $ville est le nom de la ville
list($x,$y,$ville) = explode("|" ,$tab[$i]);
# ajout rond bleu sur les coordonnées de la ville
imagecopy($image,$rond,max(1,$x-$rayon),
max(1,$y-$rayon),0,0,$rayon*2,$rayon*2);
# zone cliquable sur le rond
echo "<area shape=circle coords='$x,$y,$rayon'
href='lapage.php?ville=".urlencode($ville).
"' title='$ville' alt='$ville'>n";
}
echo "</map>n";
# création d'un fichier temporaire
# (nb: le user nobody doit avoir l'accès en écriture au fichier créé)
$ret=imagepng($image,'./Francetemp.png');
if (!$ret) echo "Erreur: le fichier Francetemp.png doit être en accès
libre!<br>";
je gère un site qui recence un annuaire de clubs. jusqu'à présent on gérait notre liste par ordre alphabétique, et là on voudrait mettre une carte (par région) et "coller par dessus" chaque ville où il y a un club.
Salut,
Voici une solution pas aussi classe que les CSS de guillaume de guillemets ou le "position:absolute" de Nadine. Le code HTML n'est peut-être pas TTA mais en tout cas ça marche avec Mozilla comme avec IE:
# traitement de l'image # ajout des gommettes bleu où ça va bien # et définition des zones actives de l'image list($max_x,$max_y)=getimagesize('France.png'); $image=imagecreatefrompng('France.png'); # une carte de France $rond=imagecreatefrompng('rond.png'); # un rond bleu pour chaque ville $rayon=imagesx($rond)/2; echo "<map name='carte'>n"; for ($i=0; $i< sizeof($tab) ; $i++) { # $x, $y sont les coordonnées de chaque ville # $ville est le nom de la ville list($x,$y,$ville) = explode("|" ,$tab[$i]); # ajout rond bleu sur les coordonnées de la ville imagecopy($image,$rond,max(1,$x-$rayon), max(1,$y-$rayon),0,0,$rayon*2,$rayon*2); # zone cliquable sur le rond echo "<area shape=circle coords='$x,$y,$rayon' href='lapage.php?ville=".urlencode($ville). "' title='$ville' alt='$ville'>n"; } echo "</map>n";
# création d'un fichier temporaire # (nb: le user nobody doit avoir l'accès en écriture au fichier créé) $ret=imagepng($image,'./Francetemp.png'); if (!$ret) echo "Erreur: le fichier Francetemp.png doit être en accès libre!<br>";
Voici une solution pas aussi classe que les CSS de guillaume de guillemets ou le "position:absolute" de Nadine. Le code HTML n'est peut-être pas TTA mais en tout cas ça marche avec Mozilla comme avec IE:
c'est aussi mon point de vue :
* bien plus portable, * et tout aussi efficasse.
Pour ma part j'utilise plutot les png, mais il semble que IE n'apprécie pas trop.
concernant l'interfacage, on pourrait envisager :
* de recuperer des points en coordonnées geographique, * de "calibrer" une carte de france pixelisée, * ou de disposer d'une carte vectorielle * et d'afficher de tout.
enfin tout depend du degres d'importance de ton application.
P'tit Marcel wrote:
Voici une solution pas aussi classe que les CSS de guillaume de
guillemets ou le "position:absolute" de Nadine. Le code HTML n'est
peut-être pas TTA mais en tout cas ça marche avec Mozilla comme avec IE:
c'est aussi mon point de vue :
* bien plus portable,
* et tout aussi efficasse.
Pour ma part j'utilise plutot les png, mais il semble que IE n'apprécie
pas trop.
concernant l'interfacage, on pourrait envisager :
* de recuperer des points en coordonnées geographique,
* de "calibrer" une carte de france pixelisée,
* ou de disposer d'une carte vectorielle
* et d'afficher de tout.
enfin tout depend du degres d'importance de ton application.
Voici une solution pas aussi classe que les CSS de guillaume de guillemets ou le "position:absolute" de Nadine. Le code HTML n'est peut-être pas TTA mais en tout cas ça marche avec Mozilla comme avec IE:
c'est aussi mon point de vue :
* bien plus portable, * et tout aussi efficasse.
Pour ma part j'utilise plutot les png, mais il semble que IE n'apprécie pas trop.
concernant l'interfacage, on pourrait envisager :
* de recuperer des points en coordonnées geographique, * de "calibrer" une carte de france pixelisée, * ou de disposer d'une carte vectorielle * et d'afficher de tout.
enfin tout depend du degres d'importance de ton application.
P'tit Marcel
wrote:
Pour ma part j'utilise plutot les png, mais il semble que IE n'apprécie pas trop.
moi aussi et oui
concernant l'interfacage, on pourrait envisager : * de recuperer des points en coordonnées geographique, * de "calibrer" une carte de france pixelisée,
* et d'afficher de tout.
C'est effectivement ainsi que marche le script dont j'ai extrait ce code php. Je pars d'une table qui fournit les coordonnées UTM pour chaque code postal, que je convertis en pixels avec deux bêtes fonctions affines.
__marc.quinton__@aviation-civile.gouv.fr wrote:
Pour ma part j'utilise plutot les png, mais il semble que IE
n'apprécie pas trop.
moi aussi et oui
concernant l'interfacage, on pourrait envisager :
* de recuperer des points en coordonnées geographique,
* de "calibrer" une carte de france pixelisée,
* et d'afficher de tout.
C'est effectivement ainsi que marche le script dont j'ai extrait ce code
php. Je pars d'une table qui fournit les coordonnées UTM pour chaque
code postal, que je convertis en pixels avec deux bêtes fonctions affines.
Pour ma part j'utilise plutot les png, mais il semble que IE n'apprécie pas trop.
moi aussi et oui
concernant l'interfacage, on pourrait envisager : * de recuperer des points en coordonnées geographique, * de "calibrer" une carte de france pixelisée,
* et d'afficher de tout.
C'est effectivement ainsi que marche le script dont j'ai extrait ce code php. Je pars d'une table qui fournit les coordonnées UTM pour chaque code postal, que je convertis en pixels avec deux bêtes fonctions affines.