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

WordPress PHP Discussion :

Mise en place d'un carousel dynamique Bootstrap


Sujet :

WordPress PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut Mise en place d'un carousel dynamique Bootstrap
    Bonjour à vous,
    sur mon site hébergé sur Wordpress, j'aimerais intégré un carousel Bootstrap qui irait chercher des images dont les liens sont dans ma base SQL.
    Etant plutôt débutant en php, j'ai adapté un code trouvé sur : https://blog.smartcodehub.com/dynami...rousel-in-php/ (mais le liens n'a pas l'air fonctionner aujourd'hui )

    Du coup, ça donne ça chez moi :
    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
    	<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
      <div class="carousel-inner">
     <?php
     
    //récupération des images
    //Connexion et requête SQL
    $connexion2=include 'dunum_connexion_db.php';
    $img= $connexion2->prepare ("SELECT * FROM image WHERE id_site='$ID'");
    $img->execute();	
     
     while($data2=$img->fetch(PDO::FETCH_ASSOC)){
     $data2 = array_map($hsc, $data2); // échappement de toutes les valeurs
    //adaptation du premier résultat pour l'item active	 
        for ($i = 0; $i < count($data2); $i++) {
         if ($i == 0) {$addActive = "active";
          } else {
                  $addActive = "";
                 }
    //codage du carousel							
         echo '<div class="carousel-item ' . $addActive . '">
          <img  class="image-carousel" src="' . $data2[$i]['img_lien'] . '" alt="">
           <div class="carousel-caption">
           <p>'.$data2[$i]['img_legende'].'</p>
            </div>
           </div>';
        }
    	}
    ?>	
    </div>
    </div>
    Sachant que la connexion se fait suivant le code :
    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
     
    if ( ! function_exists('db_connexion')) {
       function db_connexion() {
          // une fois ouverte, on renvoie toujours la même connexion
          static $pdo;
          // on vérifie si la connexion n'a pas déjà été initialisée
          if ( ! ($pdo instanceof PDO)) {
             // tentative d'ouverture de la connexion MySQL
    	$serveur = "localhost";
    	$dbname = "xx_local";
    	$login = "root";
    	$pass = "";
             try {
            $pdo = new PDO("mysql:host=$serveur;dbname=$dbname", $login,$pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    		$pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
     
    		}
    	catch(PDOException $e){
    		echo 'Echec : ' .$e->getMessage();
    	}
          }
          // renvoi de la ressource : connexion à la base de données
          return $pdo;
       }
    }
    return db_connexion();
    Il y a l'air d'y avoir un problème dans mon code car si j'affiche le "count($data2)", ça me met 999 alors qu'il devrait y avoir que deux enregistrements (qui ressortent très bien si je print_r $data2) et le caroussel ne me sort que des diapositives vides.
    Est-ce que, par hasard, quelqu'un aurait la bonté d'âme de regarder mon code pour voir si qqchose cloche ?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Déveleoppeur Web/Mobile
    Inscrit en
    Avril 2013
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Déveleoppeur Web/Mobile
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2013
    Messages : 330
    Points : 545
    Points
    545
    Par défaut
    Bonjour,

    D'où vient la variable $hsc ?
    Et peux tu indiquer ou as tu fais l'echo de count($data2) et le print_r($data2) ainsi que le résultat de ce print_r

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    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
    	<div id="carouselExampleControls" class="carousel slide" data-ride="carousel">
      <div class="carousel-inner">
     <?php
     
    //récupération des images
    //Connexion et requête SQL
    $connexion2=include 'dunum_connexion_db.php';
    $img= $connexion2->prepare ("SELECT * FROM image WHERE id_site=:id");
    $img->execute(array( ':id'=>$ID));	
    $i = 0;
    while($data2=$img->fetch(PDO::FETCH_ASSOC))
    {
        $data2 = array_map($hsc, $data2); // échappement de toutes les valeurs
        //adaptation du premier résultat pour l'item active	 
         $addActive = ($i == 0)? "active" : "";
         $i++;
        //codage du carousel							
         echo '<div class="carousel-item ' . $addActive . '">
          <img  class="image-carousel" src="' . $data2['img_lien'] . '" alt="" />
           <div class="carousel-caption">
           <p>'.$data2['img_legende'].'</p>
            </div>
           </div>';
    }
    ?>	
    </div>
    </div>

  4. #4
    Membre du Club
    Homme Profil pro
    Archéologue
    Inscrit en
    Mars 2019
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Archéologue
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mars 2019
    Messages : 134
    Points : 59
    Points
    59
    Par défaut
    Bonjour,
    Pour info Rpass
    D'où vient la variable $hsc ?
    c'était une variable définie un peu plus haut que j'avais oublié de mettre avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $hsc = function($p) { return htmlspecialchars($p, ENT_QUOTES, 'utf-8'); }; // échappement des caractères dangereux
    Mais pour le coup, merci beaucoup jreaux62 pour ta rapidité et ton efficacité à toute épreuve, tes corrections fonctionnent à merveille...

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Framework] problème de mise en place d'un logger
    Par BerBiX dans le forum Spring
    Réponses: 3
    Dernier message: 29/03/2010, 15h18
  2. Problème de mise en place JavaBeans
    Par popy67 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 28/08/2009, 18h48
  3. Problème de mise en place channel bonding
    Par juanito7 dans le forum Réseau
    Réponses: 9
    Dernier message: 11/06/2007, 14h04
  4. Problème de mise en place de datasource pour Hibernate
    Par K-Kaï dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 27/07/2006, 10h41
  5. Problème de mise en place de la log4j
    Par pitit777 dans le forum Logging
    Réponses: 2
    Dernier message: 28/03/2006, 15h17

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