Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2008, 15h56   #1
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 182
Points : 31
Points : 31
Par défaut Du javascript dans un foreach Php

Bonjour,

Je fais les présentations.
Voici mon code
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
foreach ( $offres as $o ){
?>
<script type="text/javascript">
function popUp(){
 w = (document.all ? screen.width : screen.width) * 0.9;
 h = (document.all ? screen.height : screen.height-150) * 0.9;
 pm = 'scrollbars=yes,toolbar=yes,location=yes,directories=yes,menubar=yes,resizable=yes,status=yes,width=' + w + ',height=' + h + ',screenX=0,screenY=0,top=0,left=0';
 window.open(urlConstruct(),"_blank",pm);
}
 
function urlConstruct(){
 id = '<?php echo $_HTML->prog['id_programme']; ?>';
 partenaire = '<?php echo $o['id_partenaire']; ?>';
 sscat = '<?php echo $_HTML->prog['id_rubriquess']; ?>';
 url = '<?php echo base64_encode($o['url']); ?>';
 urlComplete = 'http://www.totalvod.com/redirection.php?id=' + id + '&partenaire=' + partenaire + '&sscat=' + sscat + '&url=' + url;
 return urlComplete;
}
</script>
<?php
 echo '<div class="col_fiche">
 <span class="tableau_logo">
 <img src="/data/partenaires/'.$o['logo'].'_60.jpg" border="0" align="right" alt="'.$o['logo'].'"/>
 </span>'.$o['libelle'].' - <strong class="txt_gris">'.$o['prix'].' €</strong> .......... <a href="#" onclick="javascript:popUp()" title="Accéder à la vidéo">Accéder à la vidéo</a>
 </div>';
}
?>
Lorsqu'il est exécuté, j'obtiens plusieurs fois le javascript dans le code source. Jusqu'ici rien d'anormal. Par contre le popUp() ne prend en compte que la dernière exécution de la fonction urlConstruct().

Si quelqu'un à une idée !
dafalri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 16h20   #2
Membre habitué
 
Inscription : juin 2006
Messages : 264
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 264
Points : 102
Points : 102
Peut-être un pb de concaténation ".=" (?)
ctrl+z est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 16h23   #3
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
Les fonctions ne sont pas lues dans le flot du script.
Tu ne peux donc pas déclarer plusieurs fois la meme fonction.

Une seule fonction est suffisante d'ailleurs :
Code :
1
2
3
4
5
6
7
function popUp(id, partenaire, sscat, url){
 urlComplete = 'http://www.totalvod.com/redirection.php?id=' + id + '&partenaire=' + partenaire + '&sscat=' + sscat + '&url=' + url;
 w = (document.all ? screen.width : screen.width) * 0.9;
 h = (document.all ? screen.height : screen.height-150) * 0.9;
 pm = 'scrollbars=yes,toolbar=yes,location=yes,directories=yes,menubar=yes,resizable=yes,status=yes,width=' + w + ',height=' + h + ',screenX=0,screenY=0,top=0,left=0';
 window.open(urlComplete,"_blank",pm);
}
et dans la boucle tu appelles la fonction avec les valeurs :
Code :
echo ' ...... onclick="javascript:popUp(' .  $_HTML->prog['id_programme'] . ',' . $o['id_partenaire'] . ',' $_HTML->prog['id_rubriquess'] . ',\'' . base64_encode($o['url'] . '\')"
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 18h43   #4
Nouveau Membre du Club
 
Inscription : novembre 2005
Messages : 182
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 182
Points : 31
Points : 31
Le sabotage a presque réussi ! Il manquait un '.' et une ')'
Code :
onclick="javascript:popUp('.$_HTML->prog['id_programme'].','.$t['id_partenaire'].','.$_HTML->prog['id_rubriquess'].',\''.base64_encode($t['url']).'\')"
Merci encore.
dafalri est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h01.


 
 
 
 
Partenaires

Hébergement Web