Pages :
Bonjour à tous ! je vous explique ma situation, j'ai une base de données ou il y a des liens pour afficher des images et je voudrais savoir si quelqu'un connaissait un moyen donc de pouvoir avoir un affichage d'image fondu avec ces images
j'ai essayer comme ca mais sa ne marche pas

if($data['image5']){
        ?><center><object type="application/x-shockwave-flash" data="dewslider.swf?img=$data['image'],$data['image2'],$data['image3'],$data['image4'],$data['image5']" width="500" height="300">
<param name="movie" value="dewslider.swf?img=$data['image'],$data['image2'],$data['image3'],$data['image4'],$data['image5']" />
</object><?php
}
else if($data['image4']){
?><object type="application/x-shockwave-flash" data="dewslider.swf?img=$data['image'],$data['image2'],$data['image3'],$data['image4']" width="500" height="300">
<param name="movie" value="dewslider.swf?img=$data['image'],$data['image2'],$data['image3'],$data['image4']" /></object><?php
}
else if($data['image3']){
    
?><object type="application/x-shockwave-flash" data="dewslider.swf?img=$data['image'],$data['image2'],$data['image3']" width="500" height="300">
<param name="movie" value="dewslider.swf?img=$data['image'],$data['image2'],$data['image3']" /></object><?php
}
else if($data['image2']){
?><object type="application/x-shockwave-flash" data="dewslider.swf?img=$data['image'],$data['image2']" width="500" height="300">
<param name="movie" value="dewslider.swf?img=$data['image'],$data['image2']" /></object><?php
}
else if($data['image']){
?><img width="350px"height="300px" src=<?php echo $data['image'] ?> /></center><?php
}


Je dois avoué que le code initial sans mes propres variables et un copié/collé...
et une dernière chose désolé pour la syntaxe des boucles mais ca n'a jamais été mon fort
Quel est le résultat actuel ?

Et qu'est-ce que "affichage d'image fondu avec ces images" signifie plus concrètement ? Un exemple ?
Le résultat pour l'instant est nul il ya plus rien qui s'affiche ! et fondu en faite ca serait un peu type diapo qui recupererais donc les liens des images que j'ai dans ma bd , j'ai une requete qui donc me renvoi toute les info de ma table et pour l'insant ca affiche tout sauf les photos.
Salut voici une petite optimisation de ton code ci-dessus :
<?php
function concat(&$chaine,$val) {
	if (!empty($chaine)) {	$chaine.=","; }
	$chaine.=$val;
}

$chaine = "";
if ($data['image'])		{ concat($chaine,$data['image']);	}
if ($data['image2'])	{ concat($chaine,$data['image2']);	}
if ($data['image3'])	{ concat($chaine,$data['image3']);	}
if ($data['image4'])	{ concat($chaine,$data['image4']);	}
if ($data['image5'])	{ concat($chaine,$data['image5']);	}
?>

<object type="application/x-shockwave-flash" data="dewslider.swf?img=<?php echo $chaine ?>" width="500" height="300">
	<param name="movie" value="dewslider.swf?img=<?php echo $chaine ?>" />
</object>

Je n'ai pas fait le teste mais je crois que ce n'est pas la bonne méthode pour faire un fondu avec deux images.

Le principe : tu utilises deux images qui sont l'une sur l'autre. Celle du dessus à son "opacity" à 1, que tu vas faire varier jusqu'à zéro tandis que l'autre est à zéro et va varier jusqu'à 1. Ensuite, tu changes le nom de l'image de celle qui à son "opacity" à zéro et tu recommences.
On fait cela très bien en jquery, et on utilise soit fadeIn() et fadeOut() ou bien animate() avec la propriété "opacity".
Re-bonjour à tous ! bon j'ai laissé tomber l’idée du fondu pk sa me soulait mais j'ai mis un <marquee> scrollamount a la place et évidemment encore un problème je dois afficher des infos et lorsque le nombre de photo dépasse 2 après tout passe en scrollamount !! je vous met le code , c'est possible que j'ai mal fermé une balise mais je trouve pas !



        while ($data = mysql_fetch_array($recherche)) {
                    
                     if($data['fax']){
        echo "<p>" . $data['nom'] . "</br>" . $data['adresse'] . "</br>" . $data['telephone'] . "<br>".$data['fax']."</p>";
   }
   else{
       echo "<p>" . $data['nom'] . "</br>" . $data['adresse'] . "</br>" . $data['telephone'] . "</p>";
   } 

    if($data['image5']){
        ?><center><MARQUEE overflow="auto"  scrollamount="3">
                            <img width="350px"height="300px"src="<?php echo $data['image5']  ?>"></img>
                                <img width="350px"height="300px"src="<?php echo $data['image4'] ?>"></img>
                                    <img width="350px"height="300px"src="<?php echo $data['image3'] ?>"></img>
                                        <img width="350px"height="300px"src="<?php echo $data['image2'] ?>"></img>
                                            <img width="350px"height="300px"src="<?php echo $data['image'] ?>"></img><MARQUEE></center><?php

        
}
 else if($data['image4']){
?><center><MARQUEE overflow="auto"  scrollamount="3">
                                <img width="350px"height="300px"src="<?php echo $data['image4'] ?>"></img>
                                    <img width="350px"height="300px"src="<?php echo $data['image3'] ?>"></img>
                                        <img width="350px"height="300px"src="<?php echo $data['image2'] ?>"></img>
                                            <img width="350px"height="300px"src="<?php echo $data['image'] ?>"></img><MARQUEE></center><?php
}
else if($data['image3']){
?><center><MARQUEE overflow="auto"  scrollamount="3">
                                    <img width="350px"height="300px"src="<?php echo $data['image3'] ?>"></img>
                                        <img width="350px"height="300px"src="<?php echo $data['image2'] ?>"></img>
                                            <img width="350px"height="300px"src="<?php echo $data['image'] ?>"></img><MARQUEE></center><?php
}
else if($data['image2']){
?><center><MARQUEE overflow="auto"  scrollamount="3">
                                        <img width="350px"height="300px"src="<?php echo $data['image2'] ?>"></img>
                                            <img width="350px"height="300px"src="<?php echo $data['image'] ?>"></img><MARQUEE></center><?php
}
else if($data['image']){
?><center><img width="350px"height="300px" src=<?php echo $data['image'] ?> /></center></img><?php 


désolé le code est un peu long
La balise <center> est périmée. Maintenant, cela se fait en CSS uniquement.
La balise </img> n'existe pas. La syntaxe correcte est
<img src="..." alt="..." [#red]/>[/#]

Sous HTML5, la fermeture des balises n'est pas obligatoire mais on conseille vivement de le faire comme si on était en XHTML.

Je t'ai donné une solution simple pour écrire un code répétitif, pourquoi tu ne l'utilises pas ?
OUI car ton code est crade !
function concat(&$chaine,$val) {
	if (!empty($chaine)) {	$chaine.=","; }
	$chaine.=$val;
}

$chaine = "";
if ($data['image'])		{ concat($chaine,$data['image']);	}
if ($data['image2'])	{ concat($chaine,$data['image2']);	}
if ($data['image3'])	{ concat($chaine,$data['image3']);	}
if ($data['image4'])	{ concat($chaine,$data['image4']);	}
if ($data['image5'])	{ concat($chaine,$data['image5']);	}
?>
         <MARQUEE overflow="auto"  scrollamount="3">  <img width="350px"height="300px"src="<?php echo $chaine ?>" /><?php
 } 
            }


j'ai fait comme sa mais il me dit FATAL ERROR cannot declared concat() previously declared in...
Tu as oublié la première ligne : <?php
Ceci a été testé avant d'être livré. Le problème ne vient pas de moi.
Bonjour,
tournikoti a écrit :
La balise </img> n'existe pas. La syntaxe correcte est
<img src="..." alt="..." [#red]/>[/#]

Sous HTML5, la fermeture des balises n'est pas obligatoire mais on conseille vivement de le faire comme si on était en XHTML.

Étant donné que la syntaxe de HTML5 est plus proche de celle de HTML4 que de celle de XHTML, il est discutable d'écrire <img src="" alt="" /> plutôt que <img src="" alt="">.

De plus, attention, "la fermeture des balises" est obligatoire pour la plupart des éléments. Exceptions :
- Les éléments "void" (img, input, link, meta, ...) n'ont jamais de contenu et ne doivent donc pas avoir de balise de fermeture, comme tu le soulignes.
- Certaines balises ouvrantes et fermantes sont optionnelles quand elles peuvent être déduites du contexte (html, head, </p>, ...).
Modifié par Julien Royer (27 Jun 2012 - 14:14)
tournikoti a écrit :
La balise <center> est périmée.


Dépréciée ou obsolète, mais pas périmé Smiley smile

tournikoti a écrit :
<?php
function concat(&$chaine,$val) {
	if (!empty($chaine)) {	$chaine.=","; }
	$chaine.=$val;
}

$chaine = "";
if ($data['image'])		{ concat($chaine,$data['image']);	}
if ($data['image2'])	{ concat($chaine,$data['image2']);	}
if ($data['image3'])	{ concat($chaine,$data['image3']);	}
if ($data['image4'])	{ concat($chaine,$data['image4']);	}
if ($data['image5'])	{ concat($chaine,$data['image5']);	}
?>

<object type="application/x-shockwave-flash" data="dewslider.swf?img=<?php echo $chaine ?>" width="500" height="300">
	<param name="movie" value="dewslider.swf?img=<?php echo $chaine ?>" />
</object>


Pas besoin d'une fonction pour ça:


$chaine = array();

if ($data['image'])	        { $chaine[] = $data['image'];	}
if ($data['image2'])	{ $chaine[] = $data['image2']; }
if ($data['image3'])	{ $chaine[] = $data['image3']; }
if ($data['image4'])	{ $chaine[] = $data['image4']; }
if ($data['image5'])	{ $chaine[] = $data['image5']; }

$chaine = implode(',', $chaine);

<object type="application/x-shockwave-flash" data="dewslider.swf?img=<?php echo $chaine; ?>" width="500" height="300">
	<param name="movie" value="dewslider.swf?img=<?php echo $chaine; ?>" />
</object>


Ou encore:



$chaine = implode(',', $data);

<object type="application/x-shockwave-flash" data="dewslider.swf?img=<?php echo $chaine; ?>" width="500" height="300">
	<param name="movie" value="dewslider.swf?img=<?php echo $chaine; ?>" />
</object>


si le tableau "data", ne contient que les images.

monster a écrit :

j'ai fait comme sa mais il me dit FATAL ERROR cannot declared concat() previously declared in...


Le message est clair. Tu a déjà une fonction qui porte le nom "concat", tu ne peut donc pas re-déclarer une autre fonction avec le même nom.

Soit tu supprime la première, soit tu renomme la deuxième.
Modifié par JJK801 (27 Jun 2012 - 14:28)
JJK801 j'ai essayé ta solution sa marche presque enfaite je t'expliques lorsque dans les informations qui s'affichent il y a une photo elle s'affichent mais quand il y en a plusieurs il y a juste les info en texte mais plus de photo Smiley confus
et j'ai mis un scrollamount plutot

<MARQUEE overflow="auto"  scrollamount="3">
              <img width="350px"height="300px"src="<?php echo $chaine ?>"></marquee> 
monster a écrit :
JJK801 j'ai essayé ta solution sa marche presque enfaite je t'expliques lorsque dans les informations qui s'affichent il y a une photo elle s'affichent mais quand il y en a plusieurs il y a juste les info en texte mais plus de photo Smiley confus
et j'ai mis un scrollamount plutot


<MARQUEE overflow="auto"  scrollamount="3">
              <img width="350px" height="300px" src="<?php echo $chaine ?>"></marquee> 


Smiley scared

Ça fait au moins 5 ans que j'avais pas vu une balise "marquee" je vais recommencer a faire des cauchemars...

Sinon, pour en revenir a ton problème, tu ne peut pas passer $chaine comme src d'une image, car $chaine, c'est le url de plusieurs images concaténés avec des virgules.

Le src lui, attends une seul url d'image, et il considère donc que celle que tu lui passe est invalide.
des cauchemars carrément Smiley eek !! okk je comprends mais comment faire alors ? pk le marquee etait pas mal Smiley langue !
monster a écrit :
des cauchemars carrément Smiley eek !! okk je comprends mais comment faire alors ? pk le marquee etait pas mal Smiley langue !


Si tu veut passer par plusieurs images distinctes, tu doit faire une boucle pour les afficher une par une (plus besoin de concaténer dans ce cas).

Pourquoi as tu changer de méthode entre temps (au début Flash et ensuite HTML)?
okk donc un peu comme j'avais fait les if tout moches ? ba enfaite je suis en stage et on m'avais initiallement demandé de mettre des images fondues, puis on m'a ensuite dit de plutot mettre des images défilantes donc j'ai changé de truc quoi Smiley confus
"marquee" est une balise propriétaire Microsoft, qui date de la guéguerre avec Netscape, autant dire qu'elle date! certes elle fonctionne toujours, mais n'est plus valide depuis... longtemps.

Il existe des solutions JS/JQuery bien plus sympa visuellement et valides qui plus est.
le "problème" c'est que je suis en première année d'info et que j'ai pas encore fait de javascript... de plus je ne suis pas le plus doué...
un peu d'aide ne serait pas de refus donc se que j'ai compris j'ai telecharger le jquery, je le met dans mon head et apres je peut inserer du javascript ?
JJK801 a écrit :
"marquee" est une balise propriétaire Microsoft, qui date de la guéguerre avec Netscape, autant dire qu'elle date! certes elle fonctionne toujours, mais n'est plus valide depuis... longtemps.
Oui, mais... Smiley lol
6l20 a écrit :
Oui, mais... Smiley lol


Oui, j'ai vu que c'était en cours de validation...

C'est pas grave on va encore se retrouver avec des écritures qui bougent dans tous les sens, ça va être cool Smiley mur
Pages :