Du mal pour créer une fonction...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Du mal pour créer une fonction...

par Ryle » 05 janv. 2007, 15:50

Et c'est à nouveau une grande victoire de canard ! ;)

Un p'tit clic sur Résolu ? :)

par supercanard » 05 janv. 2007, 15:48

Merci cette fois ça marche :D
Et surtout j'ai pigé le fonctionement.
J'ai fait en sorte que ça n'affiche pas posté le aujourd'hui :wink:

par Ajoloca » 05 janv. 2007, 14:29

Re,

Pour que ça fonctionne.

Quand tu appelles ta fonction, tu gardes où la valeur de retour ???
datejour($date); // Apple fonction datejour
Si tu as besoin de cette valeur plus tard, modifie cette ligne par
$date = datejour($date); // Apple fonction datejour
Si tu n'as plus besoin de cette valeur supprime cette ligne et modifie
echo '<p><span class="info_news">Posté le '.$date.'........ suite
par
echo '<p><span class="info_news">Posté le '.datejour($date).'........ suite

par supercanard » 05 janv. 2007, 14:22

argggg
En fait j'avais bein lu et bien fait la manip mais j'ai fait trop de controle z.
Désolé :?

par Ajoloca » 05 janv. 2007, 14:16

Re,

Tu devrais lire attentivement les post.
On t'a signalé à 2 reprises la différence entre une affectation et un test d'égalité

Affectation, un seul signe =
$date= $dateserveur 
Test d'égalité deux signes =
if ($date == $dateserveur) { 

par supercanard » 05 janv. 2007, 14:13

Merci pour votre aide ça commence à rentrer !
Bon ça ne marche toujours pas pourtant cette fois je crois que tout est OK...

Code : Tout sélectionner

function datejour($date) { $dateserveur= date('Y-m-d'); if ($date= $dateserveur) { $date= 'Aujourd\'hui'; } return $date; }

Code : Tout sélectionner

$date= $data['date_news']; datejour($date); // Apple fonction datejour echo '<h3>'.$data['titre_news'].'</h3>'; echo '<p><span class="info_news">Posté le '.$date.'........ suite

par Ryle » 05 janv. 2007, 13:58

je voulais retourner la variable $dâte contenant le texte Aujourd'hui. C'est pas comme ça qu'il faut faire... ?
Bah non... si tu veux juste retourner la variable $date, il suffit simplement de faire :
return $date;
Ca peut paraitre assez tordu comme ça, mais tu verras on s'y fait vite ;)

Edit : et accessoirement, faudrait le sortir du if pour qu'il retourne la date d'origine si jamais elle ne correspond pas à la date du jour, sinon il ne retournera rien :)


Ps : Jules >> Bouargh ?

par supercanard » 05 janv. 2007, 13:25

Je vais coriger tout ça.
Alors en fait avec

$date= 'Aujourd\'hui';
return $date($date);

je voulais retourner la variable $dâte contenant le texte Aujourd'hui. C'est pas comme ça qu'il faut faire... ?

par Jules Petibidon » 05 janv. 2007, 13:08

hello,

les problemes :

if( $truc = $machin )
= est un symbole d'affectation, pour comparer il faut utiliser == (entre autres)

return $date( $date )
qu'est ce que tu as voulu dire par là ? étrange isn't it ?

les trucs moins graves mais que tu devrais corriger :

date ( 'Y,m,d' )
essaye de respecter les standards pour le formatage des dates, c'est plus pratique. le top étant le format US qui te permet pas mal de choses ('Y-m-d')

regarde bien ce que tu as écrit, si ton code venait à fonctionner, tu te retrouverais avec une phrase du style "posté le aujourd'hui"...

bon courage !

par supercanard » 05 janv. 2007, 13:07

Voili voila :

Code : Tout sélectionner

while ($data= mysql_fetch_assoc($req)) { $date= $data['date_news']; echo datejour($date); // Apple fonction datejour echo '<h3>'.$data['titre_news'].'</h3>'; echo '<p><span class="info_news">Posté le '.$date.'</span></p>'; } exit(); }

par Ajoloca » 05 janv. 2007, 13:05

Boulette pour la date.
Voilà je viens de mettre a jours le code
Toujours par de résultat. Je trouve pas ce qui cloche...
Je ne sais pas quelles sont les modif que tu as apportées, mais sur ton premier code il-y-a plusieurs erreurs.

Pour faire un test en PHP c'est == et non pas = qui est l'affectation
Cette ligne
if ($date= $dateserveur) { 
devrait être
if ($date == $dateserveur) { 
Ensuite, ça ne veux rien dire
return $date($date);
Ça devrait être
return ($date);
J'ai un autre doute, à voir.
Je ne suis pas sur que la donnée venant de ta base $data['date_news'], soit au format YYYY,mm,dd (la virgule comme séparateur).

par fred9999 » 05 janv. 2007, 12:54

tu peut le mettre en entier ton code??

par supercanard » 05 janv. 2007, 12:44

Boulette pour la date.
Voilà je viens de mettre a jours le code
Toujours par de résultat. Je trouve pas ce qui cloche...

par fred9999 » 05 janv. 2007, 12:27

salut,
ton $data['date_news'] c'est un tableau???

il renvoi koi??

sinon ton $date serveur tu lui donne pas un format de date???

Du mal pour créer une fonction...

par supercanard » 05 janv. 2007, 12:06

Bonjour,

Voilà je commence à découvrir la création de fonction et j'ai un peu de mal? Je crois que je fini par m'embrouiller :

Je m'explique.
Je sort de ma base un date, qui suivant la table peut s'apeller date_news, date_article, etc... donc le nom est variable.
Je voudrais faire une fonction qui compare cette date a celle du serveur, et qui renvoi la valeur 'aujourd'hui' si les 2 dates sont égales.

Donc :

Code : Tout sélectionner

while ($data= mysql_fetch_assoc($req)) { $date= $data['date_news']; echo datejour($date); // Apple fonction datejour
Ensuite ma fonction :

Code : Tout sélectionner

<?php function datejour($date) { $dateserveur= date('Y,m,d'); if ($date= $dateserveur) { $date= 'Aujourd\'hui'; return $date($date); } } ?>
et ensuite :

Code : Tout sélectionner

echo '<h3>'.$data['titre_news'].'</h3>'; echo '<p><span class="info_news">Posté le '.$date.' par
Comme évidement ça ne marche pas je suppose que je me suis légèrement mélanger les pinceaux... :roll: