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é
voila l'erreur:

Code : Tout sélectionner

Erreur : Unknown column 'date' in 'where clause'

Posté : 05 déc. 2006, 19:52
par Ajoloca
voila l'erreur:

Code : Tout sélectionner

Erreur : Unknown column 'date' in 'where clause'
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
:idea: 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; ?>">