Page 1 sur 2
selectionner des champs
Posté : 04 déc. 2006, 19:40
par Invité
Salut,
Un probleme de selection de l'image du jour correspondant a la date du jour:
$select = "SELECT * FROM $gallery_table WHERE date='$FormatDate'";
un echo sur select donne:
SELECT * FROM gallery_table WHERE date='4/12/2006'
date = est la date du jour
$format_date => 4/12/2006 est la forme de la date
une idee sur ce sript
Re: selectionner des champs
Posté : 04 déc. 2006, 19:42
par Truc
$format_date => 4/12/2006 est la forme de la date
est-ce également le même format en base de données ?
quel est le type du champ ?
Sinon pour avoir un code plus clair prend l'habitude de sortir les variables d'une chaine de caractères:
$select = "SELECT * FROM ".$gallery_table." WHERE date='".$FormatDate."'";
Posté : 04 déc. 2006, 21:17
par MS-DOS_1991
+1 pour sortir les variables des chaînes (en plus c'est plus rapide à exécuter)
A propos, il y a de nombreuses fonctions SQL qui te permettront d'accéder directement à la date du jour (on en a récemment parlé sur le forum)

Posté : 05 déc. 2006, 17:29
par Invité
Voila les codes:
config.php
=======
$date = getdate();
$year = $date[year];
$mois = $date[mon];
$jour = $date[mday];
$FormatDate = "$jour/$mois/$year";
Affichage de l'image du jour:
==================
<?php
include ("config.php");
if(isset($_POST['img'])) $img = $_POST['img'];
else $img = '';
if(isset($_POST['url'])) $url = $_POST['url'];
else $url = '';
$date = date("d/m/Y");
$connection = mysql_connect("$dbhost", "$dblogin", "$dbpassword") or die ($ErrorConnection);
$db = mysql_select_db($dbname, $connection) or die ($ErrorDBase);
$select = "SELECT * FROM ".$gallery_table." WHERE date='".$FormatDate."'";
$result = mysql_query($select,$connection) or die ($ErrorSelect);
$total = mysql_num_rows($result);
if($total==0)
{
echo $ErrorMessage2;
}
else
{
while ($data = mysql_fetch_array($result)) {
$img = $data['img'];
?>
<center>
<div>
<IMG onmouseover=pick(this) style="FILTER: alpha(opacity=100) gray()" onmouseout=unpick(this) src="<?php echo "$img"; ?>" width="120" height="120" border="0" class="imglink">
</center>
</div>
<div>More >>></div>
<?php
}
}
mysql_free_result ($result);
mysql_close ();
?>
</center>
insertion de l'image avec sa date:
=====================
<select name="jour" size=1>
<option selected value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<select name="mois" size=1>
<option selected value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<select name="year" size=1>
<option selected value="2006">2006</option>
$sql = "INSERT INTO $gallery_table VALUES ('','$jour/$mois/$year','$img','$url')";
$result = mysql_query($sql,$connection) or die ($ErrorInsert);
et dans la base de donnee j'ai ce resultat:
INSERT INTO `gallery_table` VALUES (14, '4/12/2006', 'logo_phpfrance10.gif', 'images/logo_phpfrance10.gif');
J'ai mis juste les champs ou j'ai doute qu'il y ait une erreur.
merci
Posté : 05 déc. 2006, 17:33
par charabia
De quel type est ton champ date ? Il faut que ce soit en format DATE pour que tu puisses l'utiliser correctement, et donc de type aaaa-mm-jj.
Posté : 05 déc. 2006, 17:37
par Invité
Pas forcement k'elle soit au format DATE
Posté : 05 déc. 2006, 17:38
par charabia
Pas forcément mais fortement conseillé. Si on veut manipuler ensuite les dates c'est bien plus facile de l'exploiter si le format est déjà bon au départ...non ?
Posté : 05 déc. 2006, 17:41
par Invité
Au fait j'ai voulu suivre ce script
http://www.comscripts.com/scripts/php.j ... r.690.html et le modifier un peu, il a utilise la date au format VARCHAR
Posté : 05 déc. 2006, 19:28
par Invité
Posté : 05 déc. 2006, 19:52
par Ajoloca
Bonsoir,
'date' est un mot réservé MySQL, pour pouvoir l'utiliser tu dois le "protéger".
Si cela ne représente pas beaucoup de travail
je te conseille fortement de le changer.
Si tu tiens absolument à le garder toutes les requêtes qui accéderont devront être de la forme
$select = "SELECT * FROM ".$gallery_table." WHERE `date`='".$FormatDate."'";
ATTENTION:
Le caractère devant et derrière date n'est pas une apostrophe mais l'accent grâve (
Alt Gr +
7 dans le clavier français)
Posté : 05 déc. 2006, 20:23
par Invité
l'affichage de l'image est avec ce coe:
<IMG onmouseover=pick(this) style="FILTER: alpha(opacity=100) gray()" onmouseout=unpick(this) src="<?php echo $url_img ?> width="120" height="120" border="0" class="imglink" alt="<? echo $img ?>">
elle s'affiche pas, seulement le alt et son espace avec croix rouge
Posté : 05 déc. 2006, 20:27
par Ajoloca
Re,
Fais afficher la source de ta page (Click-droit->Afficher source) et regarde ce qu'il-y-a après src="
Posté : 05 déc. 2006, 20:27
par albat

Vérifie tes guillemets
(et aussi tes points-virgules...)

Posté : 05 déc. 2006, 20:32
par Invité
<IMG onmouseover=pick(this) style="FILTER: alpha(opacity=100) gray()" onmouseout=unpick(this) src="" width="120" height="120" border="0" class="imglink" alt="logo2.gif">
Posté : 05 déc. 2006, 20:34
par Invité
<IMG onmouseover=pick(this) style="FILTER: alpha(opacity=100) gray()" onmouseout=unpick(this) src="<?php echo $url_img; ?>" width="120" height="120" border="0" class="imglink" alt="<? echo $img; ?>">