Afficher une photo si existante en bdd sinon une image par default

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher une photo si existante en bdd sinon une image par default

Re: Afficher une photo si existante en bdd sinon une image par default

par yoann38 » 21 mars 2016, 21:37

J'ai donc pour l'instant:
<?php
		//Selection des l'annonce
		$sql = "SELECT * FROM loisirs WHERE id_loisirs = ".$_GET['id']." AND valide = 1";
		$req = $bdd->query($sql);

while($ligne = $req->fetch(PDO::FETCH_ASSOC))// On affiche chaque entrée une à une
 		{

// Traitement image        
		$image = !empty($ligne['image']) && file_exists($path.'img/annonce/600/'.$ligne['image']) ? 'img/annonce/600/'.$ligne['image'] : 'img/remplacement/'.simplification($aLoisirs[$ligne['id_type_loisirs']]).'.jpg';
		
		// Debug
		//echo 'test de la ligne image '.$image;
		//echo 'test'.'<img src="'.$path.'img/annonce/600/'.$ligne['image'];
		
		// Ce que je veut insérer
		if (!empty ($ligne['url_fnac'])) {
		$mavariable =  '<div class="container">
	<div class="col-md-8">
		<div class="row">
		  <div class="col-md-5"><a target="_blank" href="'.$ligne['url_site'].'"><img class="img-responsive thumbnail" src="'.$ligne['photo'].'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>';
		}else{ echo'<br><div class="container">
	<div class="col-md-8">
		<div class="row">
		  <div class="col-md-5"><a target="_blank" href="annonce_zoom.php?id='.$ligne['id_loisirs'].'"><img class="img-responsive thumbnail" src="'.$image.'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>';
		}
		// fin 
		
		
		?>
et j'affiche la photo normalement
<?php echo $mavariable ;?>

Sinan en faisant:
echo '<img src="../img/annonce/600/'.$ligne['photo'].'">';
j'obtien de généré :
<img src="../img/annonce/600/loto-du-terroir.jpg">

mais l'image ne s'affiche pas ( ca met le pictogramme comme quoi il ny a pas la photo ...

Re: Afficher une photo si existante en bdd sinon une image par default

par yoann38 » 21 mars 2016, 21:30

Donc j'ai juste fait un:
echo 'test'.'<img src="'.$path.'img/annonce/600/'.$ligne['image'];
ce qui m'affiche de généré:
<img src="img/annonce/600/<br><div class=" container"="">
...

Re: Afficher une photo si existante en bdd sinon une image par default

par or 1 » 21 mars 2016, 20:06

il faut afficher $path.'img/annonce/600/'.$ligne['image'] et comparer avec le vrai chemin de l'image pour voir ce qui cloche.

Afficher une photo si existante en bdd sinon une image par default

par yoann38 » 21 mars 2016, 18:52

Salut à tous.
Voilà un petit moment que je bataille sur un mon script.
J'ai un formulaire qui permet au visiteur de poster une photo que j'enregistre dans 3 trois fichier car je les redimenssionnes
fichier annonce, le fichier annonce/600 et annonce/300.
Donc les photos sont correctement redimenssioné et rennomé j'ai vérifié dans mon ftp.

Même si la photo existe en bdd le script actuellement n'affiche que la photo de remplacement, je comprends pas pourquoi ...

Maintenant coté code:
<?php

    $path = NULL; // relation avec mes photos
    if(empty($bdd)) {
        session_start();
        include("../conndb.php");
        include('variables.php');
        $path = '../';
    }

// On demande à php d'afficher la photo du dossier 600 si elle existe sinon on affiche une photo selon la thématique
$image = !empty($ligne['image']) && file_exists($path.'img/annonce/600/'.$ligne['image']) ? 'img/annonce/600/'.$ligne['image'] : 'img/remplacement/'.simplification($aLoisirs[$ligne['id_type_loisirs']]).'.jpg';

// On affiche donc la photo avec le reste des infos
echo'<div class="annonce">
           <div class="row">
						<div class="col-lg-3 col-md-4 col-sm-4">  
							<div class="thumbnail"><a href="annonce_zoom.php?id='.$ligne['id_loisirs'].'">
								<img class="img-responsive" src="'.$image.'" alt="'.$ligne['titre'].'" title="'.$aLoisirs[$ligne['id_type_loisirs']].' '.$ligne['titre'].'"></a>
							</div>
						</div>	
								<div class="col-lg-7 col-md-6 col-sm-6">
                    						<div class="tour_list_desc">
								<div id="score">'.$aLoisirs[$ligne['id_type_loisirs']].'</div>
								<h2>'.ucfirst(strtolower($ligne['titre'])).'</h2>
								<p class="hash_inversed"><i class="fa fa-calendar"></i> '.$la_variable_qui_vas_bien.'</p>
								<p>'. stripslashes (cutTexte($ligne['description'], 220, '...')).'</p>
								<p class="hash"><i class="fa fa-map-marker"></i> '.strip_tags ($ligne['city']).' ('.str_pad($ligne['id_departements'], 2, "0", STR_PAD_LEFT).')</p>
								<a href="annonce_zoom.php?id='.$ligne['id_loisirs'].'"><input type="button" class="btn_1" value="EN DETAILS"></a>	
                    			</div>
                    		     </div>
				</div>
			</div>'
Le problème est donc que même si la photo existe bien il affiche l'image par default et non celle que la personne à poster ....
Où est le problème svp ?