Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
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 03/02/2011, 12h15   #1
Nouveau Membre du Club
 
Avatar de Shivas
 
Inscription : juin 2004
Messages : 126
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 126
Points : 37
Points : 37
Par défaut Afficher resultat sql dans un slide

Bonjour,

J'ai besoin de votre aide concernant l'affichage de mes images provenant d'une base de donnée et généré à partir d'un requête sql. Le problème que je rencontre c'est que mes images ne s'affichent pas dans mon slide.

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
<SCRIPT>
thisImg = 1
imgCt = <?php ECHO $nbr_afficher;?>
function newSlide(direction) {
if (document.images) {
thisImg = thisImg + direction
if (thisImg < 1) { thisImg = imgCt }
if (thisImg > imgCt) { thisImg=1 }
document.slider.src = thisImg}
}
</SCRIPT>
 
<?php
$sql = 'SELECT count(*) AS nbr FROM recette where note="5" OR note="4" AND image != ""'; 
$result = mysql_query($sql)  or die ('Erreur : '.mysql_error() );
$row = mysql_result($result,0);
$nbr_afficher = $row['nbr'];
 
$recette = mysql_query ('select * from recette where note="5" OR note="4" AND image != "" ');
 
$arrayJs = "var slideimages = new Array(" ;
 
while($tab = mysql_fetch_array($recette))
     {
 
      $photo = $tab['image'] ;
      $arrayJs .= "'.$photo'" ;
 
     }
$arrayJs .= ") ;" ;
 
 
 
echo $arrayJs ;
 
?>
 
 
<TABLE BORDER=0 BGCOLOR="#FFFFFF" CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=700 HEIGHT=500>
<P>
 
<A HREF="javascript:newSlide(-1)"><IMG SRC="images/precedent.png" WIDTH=20 HEIGHT=20 ALIGN=bottom></A>
 
 <IMG SRC="<?php echo $arrayJs;?>" WIDTH=140 HEIGHT=80 BORDER=0 ALIGN=middle name=slider>
 
<A HREF="javascript:newSlide(1)"><IMG SRC="images/suivant.png" WIDTH=20 HEIGHT=20 ALIGN=bottom></A></P>
</TD>
</TR>
</TABLE>
Ma variable $arrayJs affiche : var slideimages = new Array('.F:\EasyPHP-5.3.3\www\IMAGES\recette\maki.jpg') ;

Merci pour votre aide.
Shivas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 12h20   #2
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 381
Points : 16 381
C'est normal qu'il y ait un point devant le chemin ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 12h52   #3
Nouveau Membre du Club
 
Avatar de Shivas
 
Inscription : juin 2004
Messages : 126
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 126
Points : 37
Points : 37
Bonne remarque, je l'ai retirer de mon code mais pas de changement
Shivas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 12h58   #4
Membre expérimenté
 
Inscription : mai 2006
Messages : 501
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2006
Messages : 501
Points : 576
Points : 576
Bonjour,

1. Le tableau javascript créé qui n'est pas correct...
Il me semble que ton code va donner ceci:
Code :
var slideimages = new Array('image1.png''image2.png''image3.png') ;
au lieu de
Code :
var slideimages = new Array('image1.png', 'image2.png', 'image3.png') ;
2. Je pense qu'il te manque quelques ";" dans ton code javascript...

3. Préfère la balise <script type="text/javascript"> à <script>
Fabllot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 13h06   #5
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 381
Points : 16 381
Ca pourrait donner ça :
Code :
1
2
3
4
5
while($tab = mysql_fetch_array($recette))
     {
      $photo[] = $tab['image'] ;
     }
$arrayJs = "var slideimages = new Array(" . implode(",", $photo) . ")";
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 13h06   #6
Nouveau Membre du Club
 
Avatar de Shivas
 
Inscription : juin 2004
Messages : 126
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 126
Points : 37
Points : 37
En ce qui concerne l'affichage j'ai bien la synthaxe image1, image2. Pour faciliter la compréhension j'ai deja essayé d'afficher qu'une image. Sinon j'utilise le code suivant pas super mais pas trouvé autre chose

Code :
1
2
3
4
5
6
7
8
9
10
11
 
if($i == 0)
          {
           $arrayJs .= "'$photo'" ;
          }
     else
          {
          $arrayJs .= ", '$photo'" ;
          }
     $i++ ;
     }
ma variable m'affiche
Code :
var slideimages = new Array('F:\EasyPHP-5.3.3\www\IMAGES\recette\maki.jpg', 'F:\EasyPHP-5.3.3\www\IMAGES\recette\slide2.jpg') ;
J'ai modifier script par
Code :
<script language="text/JavaScript">
Shivas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h39   #7
Nouveau Membre du Club
 
Avatar de Shivas
 
Inscription : juin 2004
Messages : 126
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 126
Points : 37
Points : 37
J'arrive à afficher une image mais pas les suivantes je vous remet le code que j'ai modifié
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
 
<?php
$sql = 'SELECT count(*) AS nbr FROM recette where note="5" OR note="4" AND image != ""'; 
$result = mysql_query($sql)  or die ('Erreur : '.mysql_error() );
$row = mysql_result($result,0);
$nbr_afficher = $row['nbr'];
 
$recette = mysql_query ('select * from recette where note="5" OR note="4" AND image != "" ');
 
 
 
 while($tab = mysql_fetch_array($recette))
     {
      $photo[] = $tab['image'] ;
     }
$arrayJs = "var slideimages = new Array(" . implode(",", $photo) . ")";
 
 
?>
<script type="text/javascript"> 
thisImg = 1
imgCt = <?php ECHO $nbr_afficher;?>
function newSlide(direction) {
if (document.images) {
thisImg = thisImg + direction
if (thisImg < 1) { thisImg = imgCt }
if (thisImg > imgCt) { thisImg=1 }
document.slider.src = thisImg}
}
</SCRIPT>
 
<TABLE BORDER=0 BGCOLOR="#FFFFFF" CELLSPACING=0 CELLPADDING=0>
<TR>
<TD WIDTH=700 HEIGHT=500>
<P><?php
for ($i=1; $i<=$nbr_afficher; $i++){?>
<A HREF="javascript:newSlide(-1)"><IMG SRC="images/fleches/flecheg_04.png" WIDTH=20 HEIGHT=20 ALIGN=bottom></A>
 
 <IMG SRC="<?php echo $photo[$i];?>" WIDTH=140 HEIGHT=80 BORDER=0 ALIGN=middle name=slider>
<?php }?>
<A HREF="javascript:newSlide(1)"><IMG SRC="images/fleches/flecheg_02.png" border=0 ALIGN=bottom></A></P>
</TD>
</TR>
</TABLE>
Shivas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h33   #8
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
de toute façon il est normal qu'un serveur web ne serve pas un contenu dont l'url est "F:\EasyPHP-5.3.3\www\IMAGES\recette\maki.jpg"
il faut au moins que l'url soit http://localhost/IMAGES/recette/maki.jpg

autre chose si ta plateforme cible n'est pas windows, soit attentif à la case, sinon ça marchera pas.
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h54.


 
 
 
 
Partenaires

Hébergement Web