IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Afficher resultat sql dans un slide


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    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 : 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
     
    <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.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est normal qu'il y ait un point devant le chemin ?

  3. #3
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    Bonne remarque, je l'ai retirer de mon code mais pas de changement

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Bonjour,

    1. Le tableau javascript créé qui n'est pas correct...
    Il me semble que ton code va donner ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var slideimages = new Array('image1.png''image2.png''image3.png') ;
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca pourrait donner ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while($tab = mysql_fetch_array($recette))
         {
          $photo[] = $tab['image'] ;
         }
    $arrayJs = "var slideimages = new Array(" . implode(",", $photo) . ")";

  6. #6
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <script language="text/JavaScript">

  7. #7
    Membre du Club Avatar de Shivas
    Inscrit en
    Juin 2004
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 126
    Points : 66
    Points
    66
    Par défaut
    J'arrive à afficher une image mais pas les suivantes je vous remet le code que j'ai modifié
    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
     
     
    <?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>

  8. #8
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    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 : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    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.

Discussions similaires

  1. [WD17] afficher resultats filtrés dans une table
    Par korriganLann dans le forum WinDev
    Réponses: 8
    Dernier message: 16/12/2012, 16h57
  2. afficher requet sql dans tableau en java
    Par kabbi dans le forum NetBeans
    Réponses: 1
    Dernier message: 12/02/2010, 20h46
  3. [AC-2007] Afficher resultats requete dans un "pop up"
    Par Dadar dans le forum IHM
    Réponses: 0
    Dernier message: 08/10/2009, 15h10
  4. [Tableaux] resultat sql dans une tab html
    Par digger dans le forum Langage
    Réponses: 15
    Dernier message: 26/06/2006, 12h43
  5. [SQL] afficher resultat sql dans un tableau html
    Par digger dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/06/2006, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo