Afficher une image en fonction d'un champ de ma bdd

Fermé
Aornn Messages postés 33 Date d'inscription jeudi 21 février 2013 Statut Membre Dernière intervention 9 octobre 2017 - Modifié par Aornn le 1/07/2015 à 17:25
Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 - 2 juil. 2015 à 02:42
Bonjour,
JE suis en train de faire un projet personnelle mais j'ai un petit soucis... je voudrais afficher une image en fonction d'un champ de ma bdd qui peut prendre différentes valeur comme : article, general etc...
je ne sais pas du tout comment m'y prendre mais j'ai une idée que je ne sais pas du tout mettre en place que voila : en gros quand on fait la requete pour recueper ce qu'il y a dans la bdd on fait un switch et en fonction du résultat on affiche tel ou tel image ... voila mon code
<?php
//Connexion à la base de données
mysql_connect('...', '...', '...');
mysql_select_db('...');

$messagesParPage=4; //Nous allons afficher 5 messages par page.

//Une connexion SQL doit être ouverte avant cette ligne...
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM actus'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.

//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);

if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
$pageActuelle=intval($_GET['page']);

if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
{
$pageActuelle=$nombreDePages;
}
}
else // Sinon
{
$pageActuelle=1; // La page actuelle est la n°1
}

$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire

// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query('SELECT * FROM actus ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
//Je vais afficher les messages dans des petits tableaux. C'est à vous d'adapter pour votre design...
//De plus j'ajoute aussi un nl2br pour prendre en compte les sauts à la ligne dans le message.
echo '

<h1><strong>'.stripslashes($donnees_messages['titre']).'</strong></h1></br>

<p>'.nl2br(stripslashes($donnees_messages['contenu'])).'</p><br><br>
<h3>Ecrit par : '.nl2br(stripslashes($donnees_messages['auteur'])).'</h3><h4>le '.nl2br(stripslashes($donnees_messages['date_creation'])).'</h4>
<img id="separation "src="images/separation.jpg"/><br /><br />';
//J'ai rajouté des sauts à la ligne pour espacer les messages.
}

echo '<p align="center">Page : '; //Pour l'affichage, on centre la liste des pages
for($i=1; $i<=$nombreDePages; $i++) //On fait notre boucle
{
//On va faire notre condition
if($i==$pageActuelle) //Si il s'agit de la page actuelle...
{
echo ' [ '.$i.' ] ';
}
else //Sinon...
{
echo ' <a href="article.php?genre=General&page='.$i.'">'.$i.'</a> ';;
}
}
echo '</p>';
?>




voila j'espere que ce n'est pas trop dure et merci beaucoup :D
A voir également:

1 réponse

Torkass Messages postés 166 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 21 janvier 2016 95
Modifié par Torkass le 2/07/2015 à 02:46
Bonjour,

bon, je suppose que tu définisà l'enregistrement dans ta bdd, dans un champs spécifique, le type de données que tu enregistres (si c un article, un truc général, etc...), donc le plus simple c'est d'avoir pour chaque type une image qui porte le même nom. Exemple, si dans ton champs "type" de la bdd tu as la valeur "article", tu dois avoir un fichier sur ton serveur qui se nommera par exemple "article.jpg", du coup c assez simple, tu as juste à charger la valeur contenue dans ta bdd (ici, c'est "article") et ajouter ".jpg" après.

Comme ceci :
$type =  $donnees["type"]; // (admettons que la valeur est "article")
echo "<img src='$type.jpg' />";

Ce qui nous affiche l'image "article.jpg".
0