begin process at 2012 02 13 04:21:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Base de données

 > 

Oracle

 > 

infobulle connecté


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

infobulle connecté

lundi 25 mai 2009 à 14:46:48 | infobulle connecté

carolet

Bonjour,

Sur une carte de france, je veux afficher une infobulle par département dans laquelle s'affiche le CA de l'année.
J'y arrive mais le problème avec ma méthode est que je dois faire une requête pour chaque département. C'est un peu lourd ;)
Comment faire pour avoir une seule requete qui reconnaitrais la valeur du numéro de départment.
Merci d'avance


Mon code :

<script type="text/javascript" src="script_infos-bulle.js"></script>
 

<p>
<%curyear= year(date)%>
<%prevyear= year(date)-1%>
 
<% total1 = "SELECT sum(res1), sum(res2) FROM (SELECT sum(c.ca) AS res1, count(distinct(b.codetiers)) AS res2 FROM APISOFT_DOS_DELAHOUSSE_SA.GEST_VUE_STATBASE_FC c,  APISOFT_DOS_DELAHOUSSE_SA.ENTETEFACTURE B, APISOFT_DOS_DELAHOUSSE_SA.article e where e.code = c.codearticle and b.codedocutil = c.codedocutil and extract(year from c.datedoc)="&curyear&" and b.pays='FR' and b.cp like '62%')"%>
<%Set total1 = oCon.execute(total1)%>
<%resultat = "Pas de Calais - 62" &"<BR><BR>"& "Nb clients : " &total1(1)& "<BR>" &"CA : " & replace(formatnumber(total1(0),2,,,-1),"'"," ")&" ¤"& "<BR>"  %>
 

<% total2 = "SELECT sum(res1), sum(res2) FROM (SELECT sum(c.ca) AS res1, count(distinct(b.codetiers)) AS res2 FROM APISOFT_DOS_DELAHOUSSE_SA.GEST_VUE_STATBASE_FC c,  APISOFT_DOS_DELAHOUSSE_SA.ENTETEFACTURE B, APISOFT_DOS_DELAHOUSSE_SA.article e where e.code = c.codearticle and b.codedocutil = c.codedocutil and extract(year from c.datedoc)="&curyear&" and b.pays='FR' and b.cp like '80%')"%>
<%Set total2 = oCon.execute(total2)%>
<%resultat2 = "- 80" &"<BR><BR>"& "Nb clients : " &total2(1)& "<BR>" &"CA : " & replace(formatnumber(total2(0),2,,,-1),"'"," ")&" ¤"& "<BR>"  %>
 

<map name="FPMap0">
 
<area  onmouseover="afficher_bulle('<%=resultat%>', '#ffffff', event);" onmouseout="masquer_bulle();" shape="polygon" coords="507, 93, 504, 88, 505, 40, 541, 21, 551, 49, 556, 54, 571, 64, 584, 63, 590, 63, 588, 72, 598, 77, 605, 81, 603, 90, 613, 104, 608, 126, 589, 123, 582, 117, 568, 117, 561, 120, 561, 108, 549, 108, 542, 107, 525, 95, 511, 92">
 
<area onmouseover="afficher_bulle('<%=resultat2%>', '#ffffff', event);" onmouseout="masquer_bulle();"  shape="polygon" coords="502, 94, 493, 122, 508, 140, 518, 161, 543, 167, 570, 173, 581, 178, 597, 164, 609, 164, 608, 151, 615, 134, 609, 125, 571, 121, 557, 121, 554, 114, 536, 107, 516, 95, 509, 96">
 
</map>

<img border="0" src="CarteDeFrance%20OK.JPG" width="994" height="1390" usemap="#FPMap0"></p>

lundi 25 mai 2009 à 20:05:52 | Re : infobulle connecté

nhervagault

Administrateur CodeS-SourceS
Salut

SELECT sum(res1), sum(res2) FROM (SELECT sum(c.ca) AS res1, count(distinct(b.codetiers)) AS res2 FROM APISOFT_DOS_DELAHOUSSE_SA.GEST_VUE_STATBASE_FC c,  APISOFT_DOS_DELAHOUSSE_SA.ENTETEFACTURE B, APISOFT_DOS_DELAHOUSSE_SA.article e where e.code = c.codearticle and b.codedocutil = c.codedocutil and extract(year from c.datedoc)="&curyear&" and b.pays='FR' group by left(b.cp,2))

En esperent que les départements de 1 à 9 sont codés sous le forme 01 à 09
sinon il faut que tu geres autrement
Le mieux est de rajouter dans une vue ou dans ta table une colonne département
pour optimiser encore plus le calcul.
Car un SGBD n'est pas fait pour gérer trop des chaines de textes(mais plus pour manipuler des ensembles), autant il prémaché le travail.


De plus, tu peux utiliser les dictionnaires dans asp3, pour optimiser la construction de ta page.

set dico = server.createObject("Scripting.Dictionary")

http://www.asp-php.net/tutorial/asp-php/asp_dictionary.php?page=1
mardi 26 mai 2009 à 10:27:33 | Re : infobulle connecté

carolet

Merci de ta réponse.
Pour le code ASP, je vois ce que tu veux dire, par contre ce que je n'arrive pas à faire c'est : en passant la souris sur le département, ça passe le numéro du département dans la fonction "afficher_bulle" et ça renvoie l'info pour que la requête ASP aille cherche les données correspondantes au numéro du département. Je sais pas si je suis claire ;)


Voila le code de la fonction "afficher_bulle" :


//Définition de variables en fonction du navigateur
var ie = (document.all)? true:false;
var ns4 = (document.layers)? true:false;
var ns6 = (document.getElementById)? true:false;
 
//Incrustation du div "bulle" (display: none = non affiché)
//Vous pouvez librement modifier le style de bordure de la bulle
if ((ns6) || (ie)) {
   document.write('<div id="bulle" style="position:absolute; top: 0; left: 0; border: 2px solid #111; padding: 5px; display: none;font-family: verdana;font-size:10.0pt; "></div>');
} else if (ns4) {
   document.write('<layer id="bulle" top=0 left=0></layer>');
}
 
if(ns6) {
 var bulle = document.getElementById('bulle');
}
else if(ie) {
 var bulle = document.all['bulle'];
}
else {
 var bulle = document.layers['bulle'];
}
 
var bulleStyle = bulle.style;
 
//Fonction d'affichage de la bulle
function afficher_bulle(texte, couleur, event) {
 
 //Lignes utiles si vous imbriquez des éléments devant supporter des bulles
 if(ie) {
  window.event.cancelBubble = true;
 }
 else {
  event.stopPropagation();
 }
 
 bulle.innerHTML = texte;
 bulleStyle.backgroundColor = couleur;
 
 //On suit les mouvements de la souris
 if(ie) {
  bulle_mouseMove();
 }
 else {
  bulle_mouseMove(Event);
 }
 
 document.onmousemove = bulle_mouseMove;
 bulleStyle.display = 'block';
 
}
 
//Fonction de positionnement de la bulle en fonction des mouvements du curseur
function bulle_mouseMove(e) {
 
 if(ie) {
  //Prend en compte le scroll de la page
  if(document.documentElement.clientWidth>0) {
   bulle_x = event.x + document.documentElement.scrollLeft;
   bulle_y = event.y + document.documentElement.scrollTop;
  }
  else {
   bulle_x = event.x + document.body.scrollLeft;
   bulle_y = event.y + document.body.scrollTop;
  }
 }
 else {
 
  bulle_x = e.pageX;
  bulle_y = e.pageY;
 }
 
 if(!isNaN(bulle_x) && !isNaN(bulle_y)) {
  bulle_x += 5;
  bulle_y -= 25;
 
  bulleStyle.left = bulle_x + 'px';
  bulleStyle.top = bulle_y + 'px';
 }
}
 
//Fonction qui fait disparaître la bulle
function masquer_bulle() {
 document.onmousemove = null;
 bulleStyle.display = 'none';
 
}
 
//Fonctions qui augmente le z-index (indice de profondeur) de la bulle
function up_zindex_bulle() {
 bulleStyle.zIndex = 200;
}
//Réinitialise le z-index
function raz_zindex_bulle() {
 bulleStyle.zIndex = '';
}


Cette discussion est classée dans : nb, clients, connecté, infobulle, département


Répondre à ce message

Sujets en rapport avec ce message

Nb de mot restant [ par Psyko ] Salut a tous, ds mon livre d'or j'aimerai indiquer le nb de mot restant de libre (suis-je clair ?!!?)Comment faire pour connaitre le nb de mot que la Inclure une fonction dans une page [ par Special_Fx ] Salut,Je veux utiliser une fonction trouvée sur le site pour ajouter un Zéro devant des nbs<10, il se trouve que cette valeur est issue dans champs d' Qui est connecté ? [ par marloon ] Salut,je cherche en vain a reproduire le bloc "Qui est connecté ?"des sites Codes sources.Celui avec le nom de tous les users connectésComment procéde erreur asp [ par benj71 ] Voila j'ai un msg d'erreur et je comprensd pas pkoi???Type d'erreur :Microsoft JET Database Engine (0x80040E07)Type de données incompatible dans l'exp Qui est connecté ? [ par marloon ] Comment faire, assez simplement,un control utilisateur qui montrerai quels sont les users connectés en même temps sur mon site.J'utilise le mode d'aut [asp.net] [Access2000] table vide [ par Jula ] coucou!voici un de mes pitis soucis d'aujourd'hui:voilà ce que je fais pour récupérer le max d'un champ//requête:string MaRequete = "Select MAX(NUMTAR pas de résultat?! [ par Jula ] bajour!voilà, je fait une requête qui peut retourner un résultat nul c'est-à-dire qu'aucun tuple ne correspond à ce que je demande dans ma bd.je fais Limitation d'Enregistrement [ par madoman ] Salut à tousj'ai dans ma base de données access plusieurs table :Table1 : num,table1, date, horaire1,horaire2,horaire3...horaire48, nb_participantsTab prendre une donnée dans un dataset [ par phoelis ] Bonjour a tous.Cela fait deux jours que je cherche une solution a ce probleme mais impossible de trouver.pourtant le probleme est simple, j ai un data Récupérer un variable dans un repeater [ par lmu ] J'ai un tableau construit avec un repeater.Si la session est active, j'aimerai ajouter une inscription dans une cellule.Du style ..Dans le code-------


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales