Attribution image auto / jour

Fermé
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - Modifié par gardiendelanuit le 23/10/2011 à 18:53
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 - 25 oct. 2011 à 21:42
Bonjour,

Voilà j'explique ce que je voudrais obtenir: j'ai creé un système de news avec la bdd qui affiche chaque news ajoutées à la suite, et j'aimerais avoir une image pour chaque jour (image lundi, mardi...) dans la partie gauche.. seul problème, je ne vois pas comment m'y prendre pour faire une attribution en fonction de la date en php...
Merci d'avance pour vos réponses!


A voir également:

10 réponses

epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
23 oct. 2011 à 20:42
bonsoir gardiendelanuit
tu fais un truc du genre
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");

$jourDuJour = $jour[date("w")];

et puis
switch ($jourDuJour) {
case "lundi":
mettre tel image dans ta div...
break;
case "mardi":
mettre tel image dans ta div...
break;

etc...
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
Modifié par gardiendelanuit le 23/10/2011 à 21:08
Merci pour ta réponse!
Et même si une new n'est pas postée un jour le reste n'est pas décalé c'est bien ça?

Merci de mettre "Résolu" quand nos réponses vous ont satisfaits!
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
23 oct. 2011 à 21:20
heu... la c'est le jour qui appel l'affichage... Pour autres interrogation c'est ta fonction d'appel des news qui fait le travail... ca je sais pas comment tu as conçus le truc
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
23 oct. 2011 à 21:53
ok sinon je débute plus ou moins en php.. je dois remplacer date("w") ?
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
23 oct. 2011 à 22:09
non w dans la fonction date() renvoi au jour de la semaine au format numérique
0 renvoi donc a dimanche dans l'array $jour et 6 à samedi

tu peux faire le test
<?php echo date('w'); ?>
normalement le résultat est 0 demain le resultat sera 1 .... sachant cela tu n'est pas forcé de passer par le jour de la semaine au format lundi mardi...
switch (date('w')) {
case 0: //dimanche
etc...
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
23 oct. 2011 à 22:21
Merci pour l'aide mais une fois inséré, ma page ne se charge plus.. Je regarderais demain ce qui ne va pas et/ou montrera mon code.
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
Modifié par gardiendelanuit le 24/10/2011 à 09:55
Qu'est-ce qui ne va pas là dedans ..

while($data = mysql_fetch_assoc($req))  
  { 
  echo '<div id="newsepisode"><h2><div align=right><font color="#99CCFF"><em>Auteur: '.stripslashes($data['newAuteur']).'</em></font></div></h2>'; //affichage de l'Auteur de la new 
  echo '<table><tr><td><strong><img src="IMGs/' 
   
  $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");  

$jourDuJour = $jour[date("w")]; 

switch ($jourDuJour) {  
case "Lundi":  
 echo "lundi.png"; 
break;  
case "Mardi":  
 echo "mardi.png"; 
break;  
case "Mercredi":  
 echo "mercredi.png"; 
break;  
case "Jeudi":  
 echo "jeudi.png"; 
break; 
case "Vendredi":  
 echo "vendredi.png"; 
break;  
case "Samedi":  
 echo "samedi.png"; 
break; 
case "Dimanche":  
 echo "dimanche.png"; 
break; 

 echo '" style="float: left"></td><td valign=top><div style="width:575px">'.stripslashes($data['newText']).'<br/><br/></div></strong></td></table></div>'; //affichage du contenu de la new 
  }
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
24 oct. 2011 à 12:32
re
mets peut être pas la fonction de recherche d'image dans le <scr img> au dessus de ton sql
fait switch ($jourDuJour) {
case "Lundi":
$photodujour= "lundi.png";
break;
case "Mardi":
$photodujour= "mardi.png";
break;
etc...

et dans ton while <img src="IMGs/'.$photodujour.' />
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
24 oct. 2011 à 19:59
Merci encore pour ta réponse!
Malheureusement, toujours le même problème après modifications:

while($data = mysql_fetch_assoc($req)) 
		{
		echo '<div id="newsepisode"><h2><div align=right><font color="#99CCFF"><em>Auteur: '.stripslashes($data['newAuteur']).'</em></font></div></h2>';
		echo '<table><tr><td><strong>'
		
		 $jour = array("Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");  

$jourDuJour = $jour[date("w")];

switch ($jourDuJour) {
 
case "Lundi": 
	$photodujour = "lundi.png";
break; 
case "Mardi": 
	$photodujour = "mardi.png";
break; 
case "Mercredi": 
	$photodujour = "mercredi.png";
break; 
case "Jeudi": 
	$photodujour = "jeudi.png";
break;
case "Vendredi": 
	$photodujour = "vendredi.png";
break; 
case "Samedi": 
	$photodujour = "samedi.png";
break;
case "Dimanche": 
	$photodujour = "dimanche.png";
break;
}
	echo '<img src="IMGs/'$photodujour'" style="float: left"></img></td><td valign=top><div style="width:575px">'.stripslashes($data['newText']).'<br/></div></strong></td></table></div>'; //affichage du contenu de la new

}
	mysql_close();
?>
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
24 oct. 2011 à 20:02
Est-ce que ça pourrait venir de
$jour[date("w")] 
?
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
24 oct. 2011 à 20:08
re
$jour = array("Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche");
$jourDuJour = $jour[date("w")];
switch ($jourDuJour) {
case "Lundi":
$photodujour = "lundi.png";
break;
case "Dimanche":
$photodujour = "dimanche.png";
break;
}

tout ca enleves de la boucle while, met le avant...

et echo '<img src="IMGs/'$photodujour'" rajoutes des points :
echo '<img src="IMGs/'.$photodujour.'"
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
24 oct. 2011 à 21:31
Toujours pareil... quand je met ma boucle while en commentaire le problème disparaît...
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
24 oct. 2011 à 21:46
sinon ta boucle while, sans la photo du jour elle fonctionnait ? car le code est assez crados

enlève tout tes élémente de styles, tu les mettras dans une feuille a part, du coup :

while($data = mysql_fetch_assoc($req))
{
$newauteur=stripslashes($data['newAuteur']);
$newtxt=stripslashes($data['newText']);

echo '<div id="newsepisode"><h2>Auteur: '.$newauteur.'</h2></div>
<div id="imagedujour"><img src="IMGs/'.$photodujour.'" /></div>
<div id="newtxt">'.$newtxt.'</div>';

}:
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
24 oct. 2011 à 21:41
echo '<table><tr><td><strong>'

Je l'ai mis dans l'echo suivant et cela semble fonctionner... à part que toutes les news test possède l'image "mardi" : /
Sinon merci pour ta patience.
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
25 oct. 2011 à 09:40
Voilà je reviens encore pour signaler qu'aujourd'hui tout passe à mercredi... ^^"
0
epitale Messages postés 3943 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 27 octobre 2017 915
25 oct. 2011 à 14:19
re oui, c'est normal, c'était pas le but recherché ?
j'ai pas du bien comprendre ce que tu veux alors...
heu si la news doit avoir l'image du jours lors duquel elle a été ajouté a la base, c'est au moment de l' INSERT TO qu'il faut gérer ca; du moins un champs dans ta table qui spécifie le jour de l'article
--
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
Modifié par gardiendelanuit le 25/10/2011 à 14:56
D'accord, merci pour ton aide, j'ai changé mon système et obtenu des coups de pouces seulement cette fois ci rien ne vas dans la variable photoDuJour:

<?php

include ("connexion.php");

mysql_connect($hostname,$user,$password);
mysql_select_db($nom_base_donnees);
$sql = "SELECT DAYOFWEEK(newDate) AS day ,newAuteur,newText FROM news ORDER BY newID DESC";
$req = mysql_query($sql) or die('Erreur SQL!'.$sql.'<br>'.mysql_error());

$jour = array("dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi");


while($data = mysql_fetch_assoc($req))
{
// au moment ou on lis l'index => date($data['day']).
// auquel on soustrait 1 car un tableau commence à zero alors que la fonction SQL commence à compter à 1
// on ajoute .png a la fin de la chaine
$photoDuJour = $jour[date($data['day'])-1].'.png';

echo '<div id="newsepisode"><h2><div align=right><font color="#99CCFF"><em>Auteur: '.stripslashes($data['newAuteur']).'</em></font></div></h2>';
// dans le source on affiche $photodujour qui conttient une chaine du type "lundi.png"

echo '<table><tr><td><strong><img src="IMGs/'.$photoDuJour.'" style="float: left"></img></td><td valign=top><div style="width:575px">'.stripslashes($data['newText']).'<br/></div></strong></td></table></div>'; //affichage du contenu de la new

}
mysql_close();
?>
0
gardiendelanuit Messages postés 1770 Date d'inscription jeudi 20 décembre 2007 Statut Membre Dernière intervention 19 novembre 2016 264
25 oct. 2011 à 21:42
Personne ne voit pourquoi?
0