Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 02-06-2005 08:07:10

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

probleme de syntaxe

voila j'ai un souci de syntaxe je pense dans le libelles de mes variables sql.

en fait c'est un diaporama avec la fonction SlideShow que je voudrais mettre en place, c'est en javascript et il marche très bien.

le souci c qu'il fonctionne pour 3 images avec le chemin en dur seulement.

j'ai une page ou le client peut faire des choix....il choisi entre différent modele de voiture, ensuite il clique sur le modele choisi et la, se charge cette page ou j'ai le souci justement. en effet, il me charge bien en mode SlideShow les images si seulement c'est écrit en dur....si je remplace le nom du fichier image par une variable référant aux champs photos dans ma table, plus rien ne fonctionne.

d'avance merci.pour ceux qui m'éclaireront.

Code:

<!-- DEBUT DU SCRIPT SLIDESHOW-->
<script>
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 3000

// Duration of crossfade (seconds)
var crossFadeDuration = 3

// Specify the image files
var Pic = new Array() // don't touch this
// to add more images, just continue
// the pattern, adding to the array below

Pic[0] = '/image_occasion/1.jpg'
Pic[1] = '/image_occasion/1a.jpg'
Pic[2] = '/image_occasion/1b.jpg'

//moi je vousdrais mettre ça: pour que justement qd on clik sur une voiture, ce sont les images de la voiture sélectionnée qui s'affiche.
//je pense que j'ai une erreur ici; si quelqu'un veut bien regarder mon erreur.
//Pic[0] = '../image_occasion/'<?php $donnee[18] ?>'.jpg'
//Pic[1] = '../image_occasion/'<?php $donnee[19] ?>'.jpg'
//Pic[2] = '../image_occasion/'<?php $donnee[20] ?>'.jpg'


var t
var j = 0
var p = Pic.length

var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}

function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter="blendTrans(duration=2)"
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
document.images.SlideShow.filters.blendTrans.Apply() 
}
document.images.SlideShow.src = preLoad[j].src
if (document.all){
document.images.SlideShow.filters.blendTrans.Play()
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>
<!-- FIN DU SCRIPT SLIDESHOW-->
</head>
<body onload="runSlideShow()">
<form name="DetailVoiture" method="post">
<p align="center"><img src="images/1.png" width="766" height="78"></p>
<p align="center"><a href="index.php">Accueil</a></p>
  <p align="center"><a href="parc_occasion_gui2.php">Retour a la liste</a></p>
<?php
if(isset($_GET["IndexVoiture"])){
    $VOITURE = $_GET["IndexVoiture"];
    $requete="select * from occasion WHERE identifiant=".$VOITURE ;
    print("IndexVoiture=".$VOITURE);
}
else{
    $requete="select * from occasion";
    print("Index voiture non défini (pas de post)");
}
$connect = mysql_connect("xxxxxxx","xxxxx","xxxxxx");
mysql_select_db("xxxxxxx", $connect);
$resul=mysql_query($requete, $connect) or die ("Requete 1 invalide".mysql_error());
if ($donnee = mysql_fetch_array($resul, MYSQL_NUM)){
$titretable = "<table width='80%'  border='1' cellspacing='1' cellpadding='1'>";
print($titretable);
  print("<tr>");
    print("<td><div align='center'><font color='#000099'><h5><u>MARQUE</u></h5></font></div></td>");
    print("<td><div align='center'><font color='#000099'><h5><u>MODELE</u></h5></font></div></td>");
    print("<td><div align='center'><font color='#000099'><h5><u>MOTORISATION</u></h5></font></div></td>");
  print("</tr>");
  print("<tr>");
    print("<td><div align='center'><strong><h4>".$donnee[4]."<h4></strong></div></td>");
    print("<td><div align='center'><strong><h4>".$donnee[2]."<h4></strong</div></td>");
    print("<td><div align='center'><strong><h4>".$donnee[3]."<h4></strong</div></td>");
  print("</tr>");
print("</table>");
print("<p>&nbsp;</p>");
print($titretable);
  print("<tr>");
    print("<td width='16%'bgcolor='#D0D6FD'><div align='center'><u>type</u> :</font></div></td>");
    $LibelleType = "Inconnu";
    if($donnee[5]==1){
        $LibelleType = "Véhicule Particulier";
    }
    if($donnee[5]==2){
        $LibelleType = "Véhicule Utilitaire";
    }
    print("<td width='52%'bgcolor='#D0D6FD'><strong>".$LibelleType."</strong</font></td>");
    
    print("<td width='32%' bgcolor='#D0D6FD'><div align='center'><strong>PHOTOS</strong></font></div></td>");
  print("</tr>");
   print("<tr> ");
    print("<td><div align='center'><u>kilom&eacute;trage</u> :</div></td>");
    print("<td><strong>".$donnee[7]."</strong></td>"); 
    print("<td rowspan='10'>");

print("<!-- DEBUT DU SCRIPT SLIDESHOW-->");
print("<p align='center'><table border='1' cellpadding='0' cellspacing='0'>");
print("<tr>");
print("<td id='VU' height=150 width=150>");
print("<img src='../html/image_occasion/".$donnee[18].".jpg' name='SlideShow' width=300 height=200></td>");
print("</tr>");
print("</table></p>");
print("<!-- FIN DU SCRIPT SLIDESHOW-->");

Hors ligne

 

#2 02-06-2005 08:19:49

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: probleme de syntaxe

L'erreur est dans :

Code:

Pic[0] = '../image_occasion/'<?php $donnee[18] ?>'.jpg' 

tu as oublié de mettre un echo devant $donnee[18] big_smile Et par précaution, je mettrais un ; eprès [18]

Code:

Pic[0] = '../image_occasion/'<?php echo $donnee[18]; ?>'.jpg' 

Hors ligne

 

#3 02-06-2005 09:46:12

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de syntaxe

oui c vrai! je l'avais tenté le echo aussi, mais sans résultats...tjs ce probleme.

si je remplace par
Pic[0] = '../image_occasion/'<?php echo $donnee[18]; ?>'.jpg'

dans le fichier ci dessus, j'ai une erreur , il reconait pas la fonction SlideShow, il me dit que l'erreur est a cette ligne(<body onload="runSlideShow()">) ainsi que ceci pour les images, qu'il n'arrive pas a charger.Pic[0] = '../image_occasion/'<br />
<b>Notice</b>:  Undefined variable:  donnee in <b>c:inetpubwwwrootdefinitivsite13739Htmlvehicules1.php</b> on line <b>46</b><br />
'.jpg')


et si laisse en dur les chemins tout marche nikel cad comme ceci pour l'image 1 Pic[0] = '/image_occasion/1.jpg'

merci!!! palmivore! qd meme ..j'ai failli y croire a un moment big_smile

Hors ligne

 

#4 02-06-2005 10:00:12

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: probleme de syntaxe

Notice: Undefined variable
cette erreur est typique des serveurs de développement...

tu appelle une variable qui n'existe pas. la, $donnee
vérifie qu'elle existe avec isset avant de l'appeller

Code:

if (isset($donnee)) { ... }

Hors ligne

 

#5 02-06-2005 10:13:22

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de syntaxe

oki je vais voir ça.....merci en tt cas les gars de la rapidité de vos réponse! c vraiment agréable.

Hors ligne

 

#6 02-06-2005 10:49:34

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de syntaxe

ça y est: presk! je n'ai plus que le probleme de la fonction qui n'est pas prise en compte...j'ai plus de undefined variable, c déja ça.

voila donc je code:

Code:

<script>
var slideShowSpeed = 5000

// Duration of crossfade (seconds)
var crossFadeDuration = 3

var t
var j = 0
var Pic = new Array()
<?php
echo "Pic[0] = '../html/image_occasion/'".$donnee[18]."'.jpg'";
echo "Pic[1] = '../html/image_occasion/'".$donnee[19]."'.jpg'";
echo "Pic[2] = '../html/image_occasion/'".$donnee[20]."'.jpg'";
?>
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
    preLoad[i] = new Image()
    preLoad[i].src = Pic[i]
}

function runSlideShow(){    
    if (document.all){
        document.images.SlideShow.style.filter="blendTrans(duration=2)"
        document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
        document.images.SlideShow.filters.blendTrans.Apply() 
    }
    document.images.SlideShow.src = preLoad[j].src
    if (document.all){
        document.images.SlideShow.filters.blendTrans.Play()
    }
    j = j + 1
    if (j > (p-1)) j=0
    t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>
<!-- FIN DU SCRIPT SLIDESHOW-->
</head>
<?php
print("<body onload='runSlideShow()'>"); 
?>
<form name="DetailVoiture" method="post">
<p align="center"><img src="images/1.png" width="766" height="78"></p>
<p align="center"><a href="index.php">Accueil</a></p>
  <p align="center"><a href="parc_occasion_gui2.php">Retour a la liste</a></p>
<?php
$titretable = "<table width='80%'  border='1' cellspacing='1' cellpadding='1'>";
print($titretable);
  print("<tr>");
    print("<td><div align='center'><font color='#000099'><h5><u>MARQUE</u></h5></font></div></td>");
    print("<td><div align='center'><font color='#000099'><h5><u>MODELE</u></h5></font></div></td>");
    print("<td><div align='center'><font color='#000099'><h5><u>MOTORISATION</u></h5></font></div></td>");
  print("</tr>");
  print("<tr>");
    print("<td><div align='center'><strong><h4>".$donnee[4]."<h4></strong></div></td>");
    print("<td><div align='center'><strong><h4>".$donnee[2]."<h4></strong</div></td>");
    print("<td><div align='center'><strong><h4>".$donnee[3]."<h4></strong</div></td>");
  print("</tr>");
print("</table>");
print("<p>&nbsp;</p>");
print($titretable);
  print("<tr>");
    print("<td width='16%'bgcolor='#D0D6FD'><div align='center'><u>type</u> :</font></div></td>");
    $LibelleType = "Inconnu";
    if($donnee[5]==1){
        $LibelleType = "Véhicule Particulier";
    }
    if($donnee[5]==2){
        $LibelleType = "Véhicule Utilitaire";
    }
    print("<td width='52%'bgcolor='#D0D6FD'><strong>".$LibelleType."</strong</font></td>");
    
    print("<td width='32%' bgcolor='#D0D6FD'><div align='center'><strong>PHOTOS</strong></font></div></td>");
  print("</tr>");
   print("<tr> ");
    print("<td><div align='center'><u>kilom&eacute;trage</u> :</div></td>");
    print("<td><strong>".$donnee[7]."</strong></td>"); 
    print("<td rowspan='10'>");
print("<!-- DEBUT DU SCRIPT SLIDESHOW-->");
print("<p align='center'><table border='1' cellpadding='0' cellspacing='0'>");
print("<tr>");
print("<td id='VU' height=150 width=150>");
print("<img src='../html/image_occasion/".$donnee[18].".jpg' name='SlideShow' width=300 height=200></td>");
print("</tr>");
print("</table></p>");
print("<!-- FIN DU SCRIPT SLIDESHOW-->");

maintenant il ne me reste plus que l'erreur que renvois la fonction SlideShow

car j'ai ceci comme erreur lorsque je lance la page:

ligne 68
car: 1
erreur: objet attendu
code : 0


et la ligne 68 correspond a celle ci:
<body onload='runSlideShow()'><form name="DetailVoiture" method="post">


et les variables sont bien prises en comptes cette fois ci:

var Pic = new Array()
Pic[0] = '../html/image_occasion/'1'.jpg'Pic[1] = '../html/image_occasion/'1a'.jpg'Pic[2] = '../html/image_occasion/'1b'.jpg'var p = Pic.length
var preLoad = new Array()


si vous voyez d'ou ça pe venir.....mais peut etre que ce script ou la fonction SlideShow est incompatible avec le php...

d'avance merci les gars!

Hors ligne

 

#7 02-06-2005 13:18:45

palmivore
Modérateur global
Lieu: 49 - Maine et Loire
Date d'inscription: 07-04-2005
Messages: 1783
Site web

Re: probleme de syntaxe

Pour être franc, je ne maîtrise pas super bien le javascript... et je sais que KaZhaR non plus wink en tout cas, ce n'est pas un pbm de compatibilité avec  PHP.

Par contre, il sera certainement plus facile de trouver l'erreur si tu épurais un peu ton code... Enfin si il était plus facile à lire. Il y a plein de choses qui peuvent être mises en HTML sans passer par PHP. Pour moi les print("</tr>"); (ou autre tag) ca ne sert pas à grand chose et le moteur PHP est utilisé pour rien... smile

Hors ligne

 

#8 02-06-2005 20:23:26

coton rough
Membre
Date d'inscription: 30-05-2005
Messages: 45

Re: probleme de syntaxe

si seulement tu mettais des ";" à la fin de chaque fonction javascript...essaye un peu.

Hors ligne

 

#9 03-06-2005 05:27:50

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de syntaxe

merci coton rough...j'ai essayé mais en vain,....ça me désole la...et j'ai fais un essai avec un autre script diaporama et ça ne marche non plus

a croire que je suis maudit sur cette derniere page du site! ...existe t'il un affichage des 3 photos qui font chercher les images dans la base sql?, un bon script pour gros noob comme moi.

si vous avez ça, faite moi signe, surtout si y'a pas grand chose a configurer.

d'avance MERCI tt le monde

Hors ligne