Afficher une image en fonction d'un champ de ma bdd
Aornn
Messages postés
33
Date d'inscription
Statut
Membre
Dernière intervention
-
Torkass Messages postés 166 Date d'inscription Statut Membre Dernière intervention -
Torkass Messages postés 166 Date d'inscription Statut Membre Dernière intervention -
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
voila j'espere que ce n'est pas trop dure et merci beaucoup :D
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:
- Afficher une image en fonction d'un champ de ma bdd
- Fonction si et - Guide
- Image iso - Guide
- Légender une image - Guide
- Transformer une image en icone - Guide
- Image de manchots sur une image de plage ✓ - Forum Graphisme
1 réponse
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 :
Ce qui nous affiche l'image "article.jpg".
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".