11 07 2002 à 13:52 |
slt à tous, p'tite kestion comme d'hab sur php. Est ce que c'est possible d'intégrer du php dans du javascript. Je sais c'est un peu flou comme question donc je vous file mon exemple: j'ai un menu dynamque fait en javascript et je voudrai grâce à php effacer ou rajouter une rubrique du menu à l'aide d'un critère. Voila mon critère que j'insère dans mon code javascript: <? $a=5; If ( $a == 5) { lien[0][3] = ' <center> <A HREF="http://www.piregwan.com" CLASS=menu> link </A> } ?> Si vous pouvez m'aider ou me filer une astuce encore plus simple ce serait vraiment la classe koi. Thanks |
|
11 07 2002 à 14:08 |
Perso je ferais comme ça : // connection base ici $req = mysql_query("SELECT nom, url FROM liens_menu"); $res = mysql_numrows($req); for($i=0;$i <$res;$i++) { $nom = mysql_result($req,$i,'nom'); $url = mysql_result($req,$i,'url'); echo " <a href=\"$url\"> $nom </a> <br> "; } et comme ça tu auras ta liste... |
|
11 07 2002 à 14:11 |
Yop, C quoi ton code javascript ? |
|
11 07 2002 à 14:24 |
Si tu captes quelque chose tu es vraiment tres fort car moi j'utilise bcp le copier/coller. <SCRIPT LANGUAGE=JavaScript> if(document.getElementById) document.write(' <DIV class=popper id=topdeck> </DIV> '); </SCRIPT> <SCRIPT LANGUAGE="JavaScript"> posYmenu = ''; bgcolor='#006699'; bgcolor2='#B6B6B6'; needcenter =true; if(!needcenter) posXmenu = 0; else { if (document.all) posXmenu = (document.body.clientWidth/2)-(400/2); else posXmenu = (window.innerWidth/2)-(400/2); } document.write(' <style type="text/css"> '); document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:3; } ') document.write('#topgauche { position:absolute; top:'+posYmenu+'px; left:'+posXmenu+'px; z-index:10; } ') document.write('A:hover.menu {color:#ffffff; text-decoration:none;} ') document.write('A.menu {color:#ffffff; text-decoration:none;} ') document.write(' </style> ') document.write(' <DIV class=popper id=topdeck> </DIV> '); /* LIENS */ lien = new Array; lien[0] = new Array; lien[1] = new Array; lien[2] = new Array; lien[3] = new Array; lien[0][0] = ' <center> <A HREF="http://www.piregwan.com" CLASS=menu> link </A> </center> '; lien[0][1] = ' <center> <A HREF="mop" CLASS=menu> tutoriaux photoshop </A> </center> '; lien[0][2] = ' <center> <A HREF="http://www.joecartoon.com" CLASS=menu> anim flash </A> </center> '; <? $a=5; If ( $a == 5) { lien[0][3] = ' <center> <A HREF="http://www.piregwan.com" CLASS=menu> link </A> } ?> </center> '; var nava = (document.layers); var dom = (document.getElementById); var iex = (document.all); if (nava) { skn = document.topdeck } else if (dom) { skn = document.getElementById("topdeck").style } else if (iex) { skn = topdeck.style } /* Position des calques du menu */ skn.top = posYmenu+258; function pop(msg,pos) { skn.visibility = "hidden"; a=true skn.left = posXmenu+pos; var content =" <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#FFFFFF WIDTH=150> <TR> <TD> <TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1> "; pass = 0 while (pass < msg.length) { content += " <TR> <TD BGCOLOR="+bgcolor+" onMouseOver=\"this.style.background='"+bgcolor2+"' \" onMouseOut=\"this.style.background='"+bgcolor+"'\" HEIGHT=20> <FONT SIZE=1 FACE=\"Verdana\"> "+msg[pass]+" </FONT> </TD> </TR> "; pass++; } content += " </TABLE> </TD> </TR> </TABLE> "; if (nava) { skn.document.write(content); skn.document.close(); skn.visibility = "visible"; } else if (dom) { document.getElementById("topdeck").innerHTML = content; skn.visibility = "visible"; } else if (iex) { document.all("topdeck").innerHTML = content; skn.visibility = "visible"; } } function kill() { skn.visibility = "hidden"; } document.onclick = kill; document.write(' <DIV ID=topgauche> <TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#FFFFFF WIDTH=400> <TR> <TD> <TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25> <TR> ') document.write(' <TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\ ';pop(lien[0],0)" onMouseOut="this.style.background=\''+bgcolor+'\'" > <A onClick="return(false)" onMouseOver="pop(lien[0],0)" href=# CLASS=menu> <FONT SIZE=1 FACE="Verdana"> liens utiles </FONT> </a> </TD> ') document.write(' <TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\ ';pop(lien[1],100)" onMouseOut="this.style.background=\''+bgcolor+'\'" > <A onClick="return(false)" onMouseOver="pop(lien[1],100)" href=# CLASS=menu> <FONT SIZE=1 FACE="Verdana"> tutoriaux </FONT> </a> </TD> ') document.write(' <TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\ ';pop(lien[2],200)" onMouseOut="this.style.background=\''+bgcolor+'\'" > <A onClick="return(false)" onMouseOver="pop(lien[2],200)" href=# CLASS=menu> <FONT SIZE=1 FACE="Verdana"> flash </FONT> </a> </TD> ') document.write(' </TR> </TABLE> </TD> </TR> </TABLE> </DIV> ') </SCRIPT> Voila, voila Bon courage !!! |
|
11 07 2002 à 14:34 |
Le tout c'est d'écrire les lignes du code JS si j'ai compris comment fonctionn le bidule... for($i=0;$i <$res;$i++) { $nom = mysql_result($req,$i,'nom'); $url = mysql_result($req,$i,'url'); echo "lien[0][0]=' <center> <A HREF=\"http://www.piregwan.com\" CLASS=menu> link </A> </center> '; "; } à la place du morceau de code d'avant.. J'ai bon Maitre Cob ? le JS c'est pas mon truc.... |
|
11 07 2002 à 14:36 |
essaye de pas cop/col sinon tu va jamais y arriver seul ... autant en js qu'en php ou tout autre language ^^ sinon je sais pas t'aider, j'en suis juste au stade "générer une list après une requête mysql" ;) |
|
11 07 2002 à 14:54 |
Houllala, vi t'a gagné, je comprend rien Et y marche ce script ?!? Tu l'as mis en ligne qu'on vois ? Genre pour l'array lien : lien = new Array; lien[0] = "premier contenu" lien[1] = "deuxieme contenu" ecc Je vois pas trop l'interet des : lien[0][0] ecc pi la "function pop()", c'est une methode JS pour gerer les contenu d'array. Faut surtout pas appeler une fonction comme ca. Sinon vi Angel. Un ptit for c 'est ce que j'aurrais fais aussi. Tout poreil mais pour tout les autres script du monde sauf celui ci Mais je me pose de grosse question sur tout le reste donc. Bref a part le dom de bien comprehensible j'en perd mon latin |
|
11 07 2002 à 15:04 |
lé po si complexe que ca ton javascript!! allé courage, moi je propose que tu enregistres ton script dans un fichier .JS et apres tu fais un <script language="javascript" src"tonscript.js"> (je crois que cest ca, à vérifier !!), et puis comme ca, finito les problemes !!!! ++ |
|
11 07 2002 à 15:21 |
faudrait aussi que tu précises le but que tu veux atteidnre avec tout ce code. Parce que la partie en php <? $a=5; If ( $a == 5) { lien[0][3] = ' <center> <A HREF="http://www.piregwan.com" CLASS=menu> link </A> } ?> peut tres bien etre écrite en js aussi (js possedant aussi des structures de controles if, while, for et tout le binz). En plus je ne comprends pas pourquoi tu fais un test sur $a==5 vu sur la ligne précédente tu affectes 5 a la varialbe $a. Mais bon pitetre qui ji pa tout pigé vizir > c'est ca ta maniere de résoudre les problemes ???? |
|
11 07 2002 à 15:23 |
j'te l'ai dit moi c'est du copier/coller. Moi y en a être petit webmaster autodidacte qui comprend pas grand chose à la programmation. J'ai pris ce script sur un site et j'essaye de le mettre à ma sauce c tout. Merci pour les conseils, mais je suis pas plus avancer. En gros mon idée est la suivante. - un menu dynamique avec des liens qui s'affichent au passage de la souris que l'on peut modifier (changer des rubrique, en supprimer, en rajouter,cacher des rubriques,...)avec du php. |
|
11 07 2002 à 20:41 |
mouarf bon courage, a+ |
|
12 07 2002 à 01:01 |
Arf, vi pareil, bon courrage De mal il n'y a point, de copier/coller tous ns avons fait Si j'ai bien capter le truc, t'aurrais une base de liens a afficher dans une serie de menu que le "client" pourrait "customiser" a souhait. Bha ca va prendre du temps Commence deja par ne coder que la partie PHP : Insertion, edition, killing. Tu verra plus tard pour l'integration au JS. |
|
Pour répondre à ce sujet (et notifier automatiquement son auteur), cliquez sur le bouton REPONDRE A CE SUJET. Si vous voulez en plus avertir de votre réponse une personne qui a participé à ce sujet, cliquez sur le bouton en face de son intervention. Enfin si vous voulez inviter quelqu'un à réagir, utilisez les appeaux ci-dessous. Seuls les membres logués peuvent utiliser les appeaux et seuls les membres actifs peuvent être appeautés ^^. Bonne notification ! Vous n'êtes pas membre ou vous n'êtes pas logué(e) ou les appeaux sont désactivés dans votre profil. Vous ne pouvez pas utiliser les appeaux. |