sortie de photo ne s'affiche pas PDO

Eléphant du PHP | 257 Messages

19 déc. 2015, 00:12

bonjour je cherche comment sortir mais photos d'un profil de membre dans un tableau, cela ne fonction pas, et je vois pas mon erreur?

et j'ai le photo par défaut

Code : Tout sélectionner

<?PHP ob_start(); if(!isset($_SESSION)){ @session_start(); } ?> <script src="cssstyle/tabs.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="cssstyle/tabs.css" /> <script type="text/javascript" src="jqueryH/jquery.mousewheel-3.0.6.pack.js"></script> <script type="text/javascript" src="jqueryH/jquery.fancybox.js"></script> <link rel="stylesheet" type="text/css" href="jqueryH/jquery.fancybox.css" media="screen" /> <link rel="stylesheet" type="text/css" href="jqueryH/helpers/jquery.fancybox-buttons.css?v=2.0.3" /> <script type="text/javascript" src="jqueryH/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script> <link rel="stylesheet" type="text/css" href="../source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" /> <script type="text/javascript" src="jqueryH/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script> <script type="text/javascript"> $(document).ready(function() { $('.fancybox').fancybox(); // Change title type, overlay opening speed and opacity $(".fancybox-effects-a").fancybox({ helpers: { title : { type : 'outside' }, overlay : { speedIn : 500, opacity : 0.80, } } }); // Disable opening and closing animations, change title type $(".fancybox-effects-b").fancybox({ openEffect : 'none', closeEffect : 'none', helpers : { title : { type : 'over' } } }); // Set custom style, close if clicked, change title type and overlay color $(".fancybox-effects-c").fancybox({ wrapCSS : 'fancybox-custom', closeClick : true, helpers : { title : { type : 'inside' }, overlay : { css : { 'background-color' : '#eee' } } } }); // Remove padding, set opening and closing animations, close if clicked and disable overlay $(".fancybox-effects-d").fancybox({ padding: 0, openEffect : 'elastic', openSpeed : 150, closeEffect : 'elastic', closeSpeed : 150, closeClick : true, helpers : { overlay : null } }); $('.fancybox-buttons').fancybox({ openEffect : 'none', closeEffect : 'none', prevEffect : 'none', nextEffect : 'none', closeBtn : false, helpers : { title : { type : 'inside' }, buttons : {} }, afterLoad : function() { this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : ''); } }); $('.fancybox-thumbs').fancybox({ prevEffect : 'none', nextEffect : 'none', closeBtn : false, arrows : false, nextClick : true, helpers : { thumbs : { width : 50, height : 50 } } }); }); </script> <?PHP // On se connecte à MySQL include'connect.php'; try { $dns = 'mysql:host=beltransin.mysql.db;dbname='.$base.''; // Options de connection $options = array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8", PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ); $connection = new PDO( $dns, $user , $pass, $options ); } catch ( Exception $e ) { echo "Connection à MySQL impossible : ", $e->getMessage(); die(); } include_once("function.php"); $NbrLigne = 4; $requete_photo = $connection->prepare('SELECT * FROM profil_photo WHERE id_gal=:id_gal'); $requete_photo->execute(array(':id_gal'=> $_SESSION['detail'])); // ------------------------------------------------------- // creation d'un seul array avec toutes les donnees $k=0; while ($val = $requete_photo->fetch()){ $tableau[$k] = $val; $k++; } // ------------------------------------------------------- // affichage if(!empty($tableau[$k]['gal'])){ vignette('image_profil/'.$tableau[$k]['gal'].'',185, 135); redim('image_profil/'.$tableau[$k]['gal'].'', 600, 450); // ------------------------- // DONNEES A AFFICHER dans la cellule $k = ($i+($j*$NbrLigne)); ?> <a class="fancybox" rel="gallery1" href="<?php echo'MINI1image_profil/'.$tableau[$k]['gal'].''; ?>" title=""> <img src="<?php echo'MINIimage_profil/'.$tableau[$k]['gal'].''; ?>" border="0" alt="" class="blanc" /> <?PHP echo '<br/>'; // ------------------------- }else{ echo '<img src="images/no_photo.png" width="185" height="135" border="0" />'; } ?>

Mammouth du PHP | 2703 Messages

19 déc. 2015, 00:36

$k après la boucle n'a pas une valeur qui permet d'accéder à un élément.
mais c'est bizarre de ne pas mettre l'affichage des photos dans une seconde boucle si l'on veux afficher plus d'une photo.

Eléphant du PHP | 257 Messages

19 déc. 2015, 08:57

Bonjour je vois ce que tu veux me dire avec la boucle les photos sont dans la valeur gal du tableau

Eléphant du PHP | 257 Messages

19 déc. 2015, 09:54

Bonjour je vois ce que tu veux me dire avec la boucle les photos sont dans la valeur gal du tableau
comme cela

Code : Tout sélectionner

$NbrLigne = 4; $requete_photo = $connection->prepare('SELECT * FROM profil_photo WHERE id_gal=:id_gal'); $requete_photo->execute(array(':id_gal'=> $_SESSION['detail'])); // ------------------------------------------------------- // creation d'un seul array avec toutes les donnees $k=0; while ($val = $requete_photo->fetch(PDO::FETCH_OBJ)){ $tableau[$k] = $val->gal; $k++; } // ------------------------------------------------------- // affichage if(!empty($tableau[$k])){ vignette('image_profil/'.$tableau[$k].'',185, 135); redim('image_profil/'.$tableau[$k].'', 600, 450); // ------------------------- // DONNEES A AFFICHER dans la cellule $k = ($i+($j*$NbrLigne)); ?> <a class="fancybox" rel="gallery1" href="<?php echo'MINI1image_profil/'.$tableau[$k].''; ?>" title=""> <img src="<?php echo'MINIimage_profil/'.$tableau[$k].''; ?>" border="0" alt="" class="blanc" /> <?PHP echo '<br/>'; // ------------------------- }else{ echo '<img src="images/no_photo.png" width="185" height="135" border="0" />'; }