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 :aie:)
Du coup, ça donne ça chez moi :
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
| <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:
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