Page 1 sur 1

Erreur sur un code Mysqli

Posté : 22 avr. 2021, 12:11
par JAG11
Bonjour

J'ai réussi à faire un carousel avec BOOTSTRAP, mais j'aurai aimé passé à PHP afin que l'utilisateur puisse changer les images à volonté.
Je n'ai pas réussi par moi-même et je suis donc parti à la recherche d'une solution que j'ai trouvé.

Fichier INDEX.PHP

Code : Tout sélectionner

<?php include_once("slider.php"); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>phpzag.com : Demo Create Bootstrap Carousel Slider with Thumbnails using PHP & MySQL</title> <link rel='stylesheet prefetch' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css'> <link href="css/style.css" rel="stylesheet"> <?php include('container.php');?> <div class="container"> <h2>Create Bootstrap Carousel Slider with Thumbnails using PHP & MySQL</h2> <div id="carousel-example-generic" class="carousel slide" data-ride="carousel" data-interval="false"> <ol class="carousel-indicators"> <?php echo $button_html; ?> </ol> <div class="carousel-inner"> <?php echo $slider_html; ?> </div> <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev"> <span class="glyphicon glyphicon-chevron-left"></span> </a> <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next"> <span class="glyphicon glyphicon-chevron-right"></span> </a> <ul class="thumbnails-carousel clearfix"> <?php echo $thumb_html; ?> </ul> </div> <div style="margin:50px 0px 0px 0px;"> <a class="btn btn-default read-more" style="background:#3399ff;color:white" href="http://www.phpzag.com/create-bootstrap-carousel-slider-with-thumbnails-using-php-mysql/">Back to Tutorial</a> </div> </div> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> <script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js'></script> <script src="js/carousel-slider.js"></script> <?php include('footer.php');?>
Fichier SLIDER.PHP

Code : Tout sélectionner

<?php include_once("../connect.php"); $sql = "SELECT id, image FROM slider LIMIT 4"; $resultset = mysqli_query($db, $sql) or die("database error:". mysqli_error($db)); $image_count = 0; $button_html = ''; $slider_html = ''; $thumb_html = ''; while( $rows = mysqli_fetch_assoc($resultset)){ $active_class = ""; if(!$image_count) { $active_class = 'active'; $image_count = 1; } $image_count++; $thumb_image = "nature_thumb_".$rows['id'].".jpg"; // slider image html $slider_html.= "<div class='item ".$active_class."'>"; $slider_html.= "<img src='images/".$rows['image']."' alt='1.jpg' class='img-responsive'>"; $slider_html.= "<div class='carousel-caption'></div></div>"; // Thumbnail html $thumb_html.= "<li><img src='images/".$thumb_image."' alt='$thumb_image'></li>"; // Button html $button_html.= "<li data-target='#carousel-example-generic' data-slide-to='".$image_count."' class='".$active_class."'></li>"; }
J'ai une erreur sur le fichier SLIDER.PHP
Attention: mysqli_query () s'attend à ce que le paramètre 1 soit mysqli, objet donné dans E: \ FFMO \ Slider \ slider.php à la ligne 4
La ligne 4 étant

Code : Tout sélectionner

$resultset = mysqli_query($db, $sql) or die("database error:". mysqli_error($db));
Bien sur j'aurai aimé convertir le code en PDO, mais je bute sur

Code : Tout sélectionner

while( $rows = mysqli_fetch_assoc($resultset)){
Pouvez-vous m'aider? Merci

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 12:16
par Saian
Salut, la variable $db n'est pas ce qu'elle devrait être.

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 12:18
par or 1
cela se passe dans "../connect.php" pour que $db ai la bonne valeur.

en pdo : https://www.php.net/manual/fr/pdostatement.fetch.php

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 12:35
par JAG11
Mon fichier connect.php est utilisé dans tout mes fichers nécessitant une connexion à une BDD et fonctionne correctement!!!

Code : Tout sélectionner

<?php try { // Connexion à la bdd $db = new PDO('mysql:host=localhost;dbname=ffmo', 'root', ''); $db->exec('SET NAMES "utf8"'); } catch (PDOException $e) { echo 'Erreur : ' . $e->getMessage(); die(); }
J'avoue ne pas comprendre et avoir besoin éclaircissement. Merci

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 12:37
par JAG11
Peut être parce que je passe de PDO à mysql?
Dans ce cas juste une aide pour bien convertir en PDO que je préfére à mysql. Merci

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 13:39
par JAG11
J'ai modifié comme ceci, pour être en PDO, mais cela ne passe à ligne
$active_class = "";
Avec comme message
Erreur d'analyse: erreur de syntaxe, inattendue ';' dans E: \ FFMO \ Slider \ slider.php à la ligne 13

Code : Tout sélectionner

include("../connect.php"); $Carousel = $db->prepare("SELECT id, image FROM slider LIMIT 4"); $Carousel->execute(); $image_count = 0; $button_html = ''; $slider_html = ''; $thumb_html = ''; while( ($row = $Carousel->fetch_assoc()){ $active_class = ""; if(!$image_count) { $active_class = 'active'; $image_count = 1; } $image_count++; $thumb_image = "nature_thumb_".$rows['id'].".jpg"; // slider image html $slider_html.= "<div class='item ".$active_class."'>"; $slider_html.= "<img src='images/".$rows['image']."' alt='1.jpg' class='img-responsive'>"; $slider_html.= "<div class='carousel-caption'></div></div>"; // Thumbnail html $thumb_html.= "<li><img src='images/".$thumb_image."' alt='$thumb_image'></li>"; // Button html $button_html.= "<li data-target='#carousel-example-generic' data-slide-to='".$image_count."' class='".$active_class."'></li>"; }

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 13:52
par JAG11
J'ai corrigé comme ceci

Code : Tout sélectionner

while(($row = $Carousel->fetchAll(PDO::FETCH_ASSOC))){ $active_class =""; if(!$image_count) { $active_class = 'active'; $image_count = 1; }

Re: Erreur sur un code Mysqli

Posté : 22 avr. 2021, 13:56
par JAG11
Mais cela ne marche pas encore
Variable non définie: lignes dans E: \ FFMO \ Slider \ slider.php à la ligne 20
La ligne 20

Code : Tout sélectionner

$thumb_image = "nature_thumb_".$rows['id'].".jpg";


Que signifie
$image_count++;


à la ligne 19?

UN print_r me renvoi la valeur suivante
nature_thumb_.jpg
donc $rows['id'] n'est pas pris en compte!!

Re: Erreur sur un code Mysqli

Posté : 23 avr. 2021, 09:36
par JAG11
Bon je ferme ce post pour en ouvrir un autre qui correspond plus à ma demande. Merci