Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/09/2007, 21h10   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 21
Points : 4
Points : 4
Par défaut [SQL] Affichage image programmé depuis SQL

Bonjour @ tous,

Je souhaiterais afficher une image depuis une table SQL ci-dessous :
Code :
1
2
3
4
5
6
7
8
9
 
CREATE TABLE `theme` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `periode_debut` date NOT NULL DEFAULT '0000-00-00',
  `periode_fin` date NOT NULL DEFAULT '0000-00-00',
  `url` text NOT NULL,
  `alt` text NOT NULL,
  KEY `id` (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
Dans ma page PHP, j'aimerais qu'elle affiche une image à une URL précise pendant le jour ou la période depuis la BDD sinon elle affiche l'image "logo.gif" par défaut.

Je recherche un code PHP bien précis, j'ai tenté un code mais il est trop complexe et ne marche pas ! on m'avait communiqué une solution une fois, mais je l'ai perdu ;(
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php include("connect.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
 
<body>
<?php
if($periode_debut && $periode_fin)== echo date("Y-m-d");
{
echo "<img src=".$url." alt=".$alt." width="185" height="70" border="1">";
}
else
{
echo "<img src="img/fond.png" alt="" width="185" height="70" border="1">";
}
?>
</body>
</html>
<?php mysql_close(); ?>
mikosworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2007, 22h51   #2
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Si j'étais toi je le ferai dans mon select, tu peux faire des comparaisons de date dans ta requete MYSQL.
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2007, 22h57   #3
Invité de passage
 
Inscription : septembre 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 21
Points : 4
Points : 4
Euh, je suis newbie, je ne comprends pas trop !
mikosworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 00h40   #4
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
En faite tu peux faire une comparaison de DATE directement dans ton SELECT ce qui t'evitera des manip en PHP.

SELECT * FROM images WHERE date >= '2007-05-05';
SELECT * FROM images WHERE date >= '2007-05-05' and date <='2007-09-05';
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 13h52   #5
Invité de passage
 
Inscription : septembre 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 21
Points : 4
Points : 4
Citation:
Envoyé par batataw Voir le message
En faite tu peux faire une comparaison de DATE directement dans ton SELECT ce qui t'evitera des manip en PHP.

SELECT * FROM images WHERE date >= '2007-05-05';
SELECT * FROM images WHERE date >= '2007-05-05' and date <='2007-09-05';
C'est pas possible de faire ça car j'ai 2 requêtes : "periode_debut" et "periode_fin"

Je me rappelle que quelqu'un avait fait la solution en 4-5 lignes de PHP seulement, sans utiliser de requête SQL particulière (à part la connexion dessus forcément )

Je retente ça mais ça marche pas ! quand je suis hors des périodes programmées, il m'affiche toujours l'image par défaut (logo_nc.gif)

Code :
1
2
3
4
5
6
7
8
9
10
<?php
if ($row_theme['periode_debut'] && $row_theme['periode_fin'] == date("Y-m-d-"))
{
print "<img src=".$row_theme['url_img']." width=\"225\" height=\"82\" alt=".$row_theme['alt']." />";
}
else
{
print "<img src=\"img/logo_nc.gif\" width=\"225\" height=\"82\" alt=\"\" />";
}
?>
mikosworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 14h33   #6
Membre du Club
 
Inscription : octobre 2004
Messages : 42
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2004
Messages : 42
Points : 40
Points : 40
Envoyer un message via MSN à MicroAlexx
Bonjour,

attention que dans ton code tu n'es pas l'erreur de ta citation de code :

Code :
date("Y-m-d-") // un - en trop apres le 'd'
MicroAlexx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 14h44   #7
Invité de passage
 
Inscription : septembre 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 21
Points : 4
Points : 4
Ah bein LOL, ça marche !

Forcément j'ai fait une erreur aussi basique !

Merci "MicroAlexx"
mikosworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 22h20   #8
Membre émérite
 
Inscription : septembre 2007
Messages : 951
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 951
Points : 948
Points : 948
Je ne comprends pas comment un ET logic entre 2 dates peut marcher, pour
faire ce que tu veux 8/
batataw est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2007, 22h31   #9
Invité de passage
 
Inscription : septembre 2007
Messages : 21
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 21
Points : 4
Points : 4
Citation:
Envoyé par batataw Voir le message
Je ne comprends pas comment un ET logic entre 2 dates peut marcher, pour
faire ce que tu veux 8/
Bein pour le coup moi non plus, mais ça fonctionne !
mikosworld est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 16h00   #10
Membre du Club
 
Inscription : octobre 2004
Messages : 42
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2004
Messages : 42
Points : 40
Points : 40
Envoyer un message via MSN à MicroAlexx
Tous simplement parce que php compare 2 chaines, et non pas 2 date
MicroAlexx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h08.


 
 
 
 
Partenaires

Hébergement Web