creaDB
Messages postés28Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention25 mars 2009
-
25 mars 2009 à 10:50
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
25 mars 2009 à 14:28
Bonjour tout le monde, voilà je débute avec l'infoBulle Javascript et je cherche à y inclure un résultat de requete php/mysql. Je m'explique, je souhaite mettre dans cette bulle tableau de résultat suite à une requete SQL.
Voiçi mon code actuel infoBulle :
// JavaScript Document
function initBulle(){
if (document.getElementById) {
document.write("
");
}
}
function infoBulle(text) {
if (document.getElementById) {
var div=document.getElementById("divBulle");
div.innerHTML=text;
div.style.visibility="visible";
var X=posX;
if (X<0) X=0;
var Y=posY+20;
div.style.top=Y+"px";
div.style.left=X+"px";
}
}
function hideBulle() {
if (document.getElementById) {
document.getElementById("divBulle").style.visibility="hidden";
}
}
var posX=0, posY=0;
document.onmouseover=getMousePos;
function getMousePos(e) {
if (document.all) {
posX=event.x+document.body.scrollLeft;
posY=event.y+document.body.scrollTop;
}
else {
posX=e.pageX;
posY=e.pageY;
}
}
et le href ou elle est appelé :
$lienAjouterRDV='[calendrier/ajouterRDV.php '.str_replace('%%dd%%', $current_year.$current_month_2.$i_2,$param['link_on_day']).' • Ajouter un rendez-vous]';//ajout sur mensuel
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 25 mars 2009 à 11:04
Bonjour,
pour afficher le résultat d'une requête vers une base de donées,
il faut appeler le php depuis la page html
soit avec un formulaire, soit avce l'url et le résultat est affiché
dans une nouvelle page, dans un iframe....
soit avec ajax, et là la réponse est retournée dans une variable
on en fait donc ce qu'on veut
creaDB
Messages postés28Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention25 mars 2009 25 mars 2009 à 11:11
Je te remercie pour ta réponse. Le problème est que c'est la première fois que j'utilise l'infoBulle et je ne dois pas utiliser ajax (contrainte du projet) ... Je suis un peu bloqué car je n'arrive à afficher que du texte taper entre les () de l'infobulle.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 25 mars 2009 à 11:26
l'info bulle c'est du html/javascript
si tu n'appelles un script sur le serveur,
tu ne peux rien faire
sans ajax, la seule solution est un iframe
dans lequel tu diriges la réponse du formulaire
( <form... target="name de iframe" .... )
à moins que ce ne soit ton php qui crée la page avec
l'info bulle. et là, mon foie, "il suffit" de générer
le html/javascript qui convient.
c'est à dire mettre dans le div ce que tu veux afficher
dans l'info bulle
mais oublie les document.write : ça va effacer toute ta page,
y compris le javascript
@+
Vous n’avez pas trouvé la réponse que vous recherchez ?
creaDB
Messages postés28Date d'inscriptionmercredi 24 septembre 2008StatutMembreDernière intervention25 mars 2009 25 mars 2009 à 12:47
Ok merci mais j'ai trouvé en effet une petite solution à mon problème :
//récupération des infos pour affichage dans l'infoBulle ... faire while() pour récupérer tout les rdv
$r=mysql_query("SELECT * FROM $table_planning WHERE TO_DAYS("".$dateDebutDeLaCellule."")-TO_DAYS(dateDebut)>=0 AND TO_DAYS(dateFin)-TO_DAYS("".$dateFinDeLaCellule."")>=0 AND idDocteur="".$_SESSION["id_doc"]."" ORDER BY heureRdv ASC, minuteRdv ASC");
$info=mysql_fetch_array($r);
if (!$noteDejaRDV) {
$noteDejaRDV=TRUE;
$outputRDV.='<center>['.str_replace( Rendez-vous prévus]</center>';
Mais mon souci maintenant et qu'il n'affique qu'un seul des rdv de la table, je dois passé par un while() mais tout mes essais sont infructueux ...
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 25 mars 2009 à 13:04
et >>je dois passé par un while() mais tout mes essais sont infructueux
while ou for,
mais c'est un souci coté php.
$res=mysql_query("SELECT * FROM ...
for ( $n=0;$n<mysql_num_rows($res);$n++ )
{ traitement de mysql_result($res,$n,"nom des champs");
...