affichage different en fonction du navigateur

Eléphant du PHP | 319 Messages

18 déc. 2007, 17:38

hello

je suis rendu a un point un peu contrariant:
j'utilise le slideshow "d'interface" avec du code php.

le slideshow ressemble a ca:
http://interface.eyecon.ro/demos/slideshow.html

et marche bien sous IE et FF en apparence

maintenant quand je le mets dans mon script ci dessous ca passe bien sous FF mais plus du tout sur IE
	//used to show the slideshow. DO NOT touch the limit
	$query = sprintf("SELECT * FROM gifts 
						WHERE type = '1' && expiry > '$date' 
						ORDER BY ranking ASC 
						LIMIT $limite,$nombre
						");
	$result = mysql_query($query) or die('Invalid query: ' . mysql_error());
	
	$nums = mysql_num_rows($result);
	
		$i = 0;
		while($i<$nums)
		{
		$show = $i + 1;
		$id_gifts = mysql_result($result,$i,"id_gifts");
		$name = mysql_result($result,$i,"name");
		$description = mysql_result($result,$i,"description");
		$description = substr("$description", 0, 250);
		$stock = mysql_result($result,$i,"stock");


		?>
		
	<div id="slideShow<?php print "$show"; ?>"></div><div id="slideShow<?php print "$show"; ?>_ad"><?php print "<span class=\"prizes_name\">$name</span> <br><br> <span class=\"prizes_general\">$description ...</span> <br><br> <span class=\"prizes_general\">$stock in stock only!</span>"; ?></div>
	<div id="play_type1_<?php print "$show"; ?>"><a href="prizes3.php?id_gifts=<?php echo $id_gifts; ?>&&type=<?php echo $type; ?>" target="_self"><img src="template/img/btn_play_small.gif" width="80" height="30" border="0"></a></div>
		
		<?php

		//update the counter_view (total page view of the ad)
		$query = ("UPDATE gifts SET counter_view = counter_view + 1 WHERE id_gifts = '$id_gifts' ");
		mysql_query($query) or die('Invalid query: ' . mysql_error());
					
		$i++;
		}
		mysql_free_result($result);
		?>


<script type="text/javascript">
$(document).ready(
	function()
	{
	<?php
	$query = sprintf("SELECT * FROM gifts 
						WHERE type = '1' && expiry > '$date' 
						ORDER BY ranking ASC 
						LIMIT $limite,$nombre
						");
	$result = mysql_query($query) or die('Invalid query: ' . mysql_error());
	
	$nums = mysql_num_rows($result);

	$i = 0;
	
	while($i<$nums)
	{
	$show = $i + 1;
	
	$thumb1 = mysql_result($result,$i,"thumb1");
	$thumb2 = mysql_result($result,$i,"thumb2");
	$thumb3 = mysql_result($result,$i,"thumb3");
	$thumb4 = mysql_result($result,$i,"thumb4");
	$thumb5 = mysql_result($result,$i,"thumb5");
	$thumb6 = mysql_result($result,$i,"thumb6");
	
	$image_array = array("$thumb1", "$thumb2", "$thumb3", "$thumb4", "$thumb5", "$thumb6");
	
	//print_r($image_array);
	?>
		$.slideshow(
			{
				container : 'slideShow<?php print "$show"; ?>',
				loader: 'template/img/slideshow_loader.gif',
				linksPosition: 'top',
				linksClass: 'pagelinks',
				linksSeparator : ' | ',
				fadeDuration : 400,
				activeLinkClass: 'activeSlide',
				nextslideClass: 'nextSlide',
				prevslideClass: 'prevSlide',
				captionPosition: 'bottom',
				captionClass: 'slideCaption',
				autoplay: 5,
				random: true,
				images : [
						<?php
						foreach($image_array as $key=>$value)
						{
							if(!empty($value))
							{ ?>{
							src: '<?php print "$value"; ?>',
							caption: 'Free participation!'
							},	
							<?php
							}
						}
						?>
				]
			}
		)
		<?php
		$i++;
		}
		?>
		$('a').ToolTip(
			{
				className: 'inputsTooltip',
				position: 'mouse'
			}
		);
	}
);
</script>
ca affiche bien mes thumbnails, fait la rotation des images etcetc sous FF uniquement

est ce que qq un voit un probleme flagrant svp??

je ne sais vraiment pas comment faire pour que ca tourne aussi bien sous IE que FF :(

merci!

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]



par ailleurs: dans IE en 2x cliquant sur le message d'erreur cela me dit que l'erreur est a la ligne 51 dans le code source (line 51, char 4)

a la ligne 51 dans le code source de la page se trouve la ligne:

Code : Tout sélectionner

$.slideshow(
niveau: pas terrible en php mais je me soigne...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 déc. 2007, 17:57

Sans doute parce que l'objet "$." n'existe pas ?

Je suppose que ta fonction javascript $() retourne le getElementById de la valeur qui lui est passé en argument, et en l'occurence, là, ça doit pas faire grande chose... curieux que tu n'ais pas de message d'erreur sous FF...

Modération :
sujet est déplacé dans le forum "Javascript, AJAX".
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 319 Messages

18 déc. 2007, 18:50

surtout que si l'element ne'tait pas declare ca ne devrait rien afficher du tout non??


en fait la ligne d'erreur je me demande si elle vient de ma page en php ou du script JS lui meme.
c'est bien la galere :(

j'ai trouve la mesure de contournement avecc http_user_agent : si c;est IE je vais motnrer autre chose que le slideshow.

vraiment embetant ce truc, je retourne creuser pour une solution plutot qu'un pansement...
niveau: pas terrible en php mais je me soigne...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

19 déc. 2007, 11:28

C'est quoi le message d'erreur exactement ?

Pour moi et d'après ton code, $ est une fonction et pas un objet, tu ne peux donc pas l'utiliser comme tel....
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...