Bonjour,

Je voudrai savoir si il était possible de mettre des fonction php, comme le while par exemple, dans un fichier javascript ?

Pour vous donner touts les détails, j'ai pris le script suivant et je l'ai modifié pour qu'il affiche un autre contenu généré par un while, et bien évidement sa ne marche pas... (Trop facile sinon ^^)

La syntaxe du script et faite de tel manière que je suis obligé de mettre la boucle php dans le javascript.

Quelqu'un aurait-il une idée ?
Merci

Le php :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
        include("connexion.inc.php");
 
        $requete = "select nom_ba, lien_ba
                                from films fi, bandes_films baf, appartient ap
                                where fi.no_film = ap.no_film
                                and ap.no_ba = baf.no_ba
                                and fi.no_film='".$_GET["film"]."'";
                                
        $resultat = mysql_query($requete,$connexion);
        $ligne = mysql_fetch_assoc($resultat);
 
        echo'   <div id="video_top">
                                <p title="Bandes Annonces ('.$count.')" style="top:200px;left:120px;" liste="videoSelector" video="video" img_video="img_video" title_video="title_video" dosfilm='.$dosfilm.' lienba='.$lienba.' nomba='.$nomba.'>
                                </p>
                        </div>';
                                        
?>
Le js :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
$(document).ready(function(){
	/* The code here is executed on page load */
 
	/* Replacing all the paragraphs */
	$('#video_top p').replaceWith(function(){
 
		/* The style, class and title attributes of the p are copied to the slideout: */
 
		return '\
		<div class="slideOutTip '+$(this).attr('class')+'" style="'+$(this).attr('style')+'">\
			\
			<div class="tipVisible">\
				<div class="tipIcon"><div class="plusIcon"></div></div>\
				<p class="tipTitle">'+$(this).attr('title')+'</p>\
			</div>\
			\
			<div class="slideOutContent">\
				<form id='+$(this).attr('liste')+' name='+$(this).attr('liste')+'>\
				while($ligne)\
				{\
				\
				$lienba = $ligne["lien_ba"];\
				$nomba = $ligne["nom_ba"];\
				\
					<div id='+$(this).attr('video')+'>\
							<div id='+$(this).attr('img_video')+'>\
							</div>\
							<div id='+$(this).attr('title_video')+'>\
								<input type="hidden" name="movie" value="movies/'+$(this).attr('dosfilm')+'/'+$(this).attr('lienba')+'"/>\
								<a href="#" onclick="javascript:openNewMovie(\'movies/'+$(this).attr('dosfilm')+'/'+$(this).attr('lienba')+'\')">'+$(this).attr('nomba')+'</a>\
							</div>\
						</div>\
				$ligne=mysql_fetch_assoc($resultat);\
				}\
				</form>\
			</div>\
		</div>';
	});
 
	$('.slideOutTip').each(function(){
 
		/*
			Implicitly defining the width of the slideouts according to the width of its title,
			because IE fails to calculate it on its own.
		*/
 
		$(this).width(40+$(this).find('.tipTitle').width());
	});
 
	/* Listening for the click event: */
 
	$('.tipVisible').bind('click',function(){
		var tip = $(this).parent();
 
		/* If a open/close animation is in progress, exit the function */
		if(tip.is(':animated'))
			return false;
 
		if(tip.find('.slideOutContent').css('display') == 'none')
		{
			tip.trigger('slideOut');
		}
		else tip.trigger('slideIn');
 
	});
 
	$('.slideOutTip').bind('slideOut',function(){
 
		var tip = $(this);
		var slideOut = tip.find('.slideOutContent');
 
		/* Closing all currently open slideouts: */
		$('.slideOutTip.isOpened').trigger('slideIn');
 
		/* Executed only the first time the slideout is clicked: */
		if(!tip.data('dataIsSet'))
		{
			tip	.data('origWidth',tip.width())
				.data('origHeight',tip.height())
				.data('dataIsSet',true);
 
			if(tip.hasClass('openTop'))
			{
				/*
					If this slideout opens to the top, instead of the bottom,
					calculate the distance to the bottom and fix the slideout to it.
				*/
 
				tip.css({
					bottom	: tip.parent().height()-(tip.position().top+tip.outerHeight()),
					top		: 'auto'
				});
 
				/* Fixing the title to the bottom of the slideout, so it is not slid to the top on open: */
				tip.find('.tipVisible').css({position:'absolute',bottom:3});
 
				/* Moving the content above the title, so it can slide open to the top: */
				tip.find('.slideOutContent').remove().prependTo(tip);
			}
 
			if(tip.hasClass('openLeft'))
			{
				/*
					If this slideout opens to the left, instead of right, fix it to the
					right so the left edge can expand without moving the entire div:
				*/
				tip.css({
					right	: Math.abs(tip.parent().outerWidth()-(tip.position().left+tip.outerWidth())),
					left	: 'auto'
				});
 
				tip.find('.tipVisible').css({position:'absolute',right:3});
			}
		}
 
		/* Resize the slideout to fit the content, which is then faded into view: */
 
		tip.addClass('isOpened').animate({
			width	: Math.max(slideOut.outerWidth(),tip.data('origWidth')),
			height	: slideOut.outerHeight()+tip.data('origHeight')
		},function(){
			slideOut.fadeIn();
		});
 
	}).bind('slideIn',function(){
		var tip = $(this);
 
		/* Hide the content and restore the original size of the slideout: */
 
		tip.find('.slideOutContent').fadeOut('fast',function(){
			tip.animate({
				width	: tip.data('origWidth'),
				height	: tip.data('origHeight')
			},function(){
				tip.removeClass('isOpened');
			});
		});
 
	});
});