selectionner des champs

Invité
Invité n'ayant pas de compte PHPfrance

04 déc. 2006, 19:40

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

04 déc. 2006, 19:42

$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."'";

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 23 Messages

04 déc. 2006, 21:17

+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) :)
>> Newbie-Project <<
Essayez le Newbie-Directory (nouveau)

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 17:29

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 déc. 2006, 17:33

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.

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 17:37

Pas forcement k'elle soit au format DATE

Avatar du membre
ViPHP
ViPHP | 3008 Messages

05 déc. 2006, 17:38

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 ?

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 17:41

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

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 19:28

voila l'erreur:

Code : Tout sélectionner

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

ViPHP
ViPHP | 1961 Messages

05 déc. 2006, 19:52

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)
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 20:23

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

ViPHP
ViPHP | 1961 Messages

05 déc. 2006, 20:27

Re,

Fais afficher la source de ta page (Click-droit->Afficher source) et regarde ce qu'il-y-a après src="
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 déc. 2006, 20:27

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

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 20:32

<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">

Invité
Invité n'ayant pas de compte PHPfrance

05 déc. 2006, 20:34

<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; ?>">