[résolu] fonctions avec argument dans un fichier externe

fonctions avec argument dans un fichier externe [résolu] - PHP - Programmation

Marsh Posté le 28-06-2004 à 12:29:39    

J'ai une fonction qui requiert un argument dans un fichier externe php que je dois inclure dans ma page principale. Comment faire pour appeler cette fonction et récupérer le résultat ?
 
Merci


Message édité par flow24 le 29-06-2004 à 13:53:57

---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 12:29:39   

Reply

Marsh Posté le 28-06-2004 à 12:32:27    

Là j'ai pas tout compris, tu peux détailler un peu plus. Que contien le fichier externe, ou se trouve la fonction ??


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 28-06-2004 à 12:40:38    

alors le fichier externe contient la fonction.
Appelons la func ().
Elle requiert un argument $X.
Elle retourne la variable $result.
 
Je veux appeler cette fonction (en lui passanr l'argument $X) à partir d'un autre fichier php (principal) et récupérer la valeur $result dans le fichier pricipal.


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 12:40:56    

inclure le fichier (include/require) [:spamafote] ?


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 12:42:56    

oué require par exemple


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 12:43:10    

boulax a écrit :

inclure le fichier (include/require) [:spamafote] ?


 
Pas mieux,
 
tu inclus le fichier, cela exécute le code si il y a du code, ou te permet d'appeler la fonction comme si celle-ci était présente dans le fichier appelant
 
pierre


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 28-06-2004 à 12:45:09    

moué, j'vais essayer comme ca


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 12:59:13    

les timestamp mysql et php ne sont pas les memes ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 13:01:27    

non


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 28-06-2004 à 13:02:48    

comment les comparer alors ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 13:02:48   

Reply

Marsh Posté le 28-06-2004 à 13:05:33    

en fait je veux exécuter la commande getdate($X) avec $X un timestamp d'une bdd mysql. mais la ca donne n'importe quoi parce le timestamp mysql est un entier bcp + impotant que le timestamp utilisé par php...


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 13:12:20    

stocke plutot un datetime qu'un timestamp dans ta bdd.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 13:13:19    

Soit ut stocke un datetime, ou alors tu stockes un timestamp php


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 28-06-2004 à 13:13:31    

moué
mais c'est pratique les timestamp car c'est juste des entiers. >> faciles a comparer


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 13:15:38    

t'as des fonctions pour comparer des datetime :heink:
Et t'as aussi des fonction pour formatter un timestamp en chaine de caractere pour l'afficher dans ta page php


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 13:59:37    

boulax a écrit :

t'as des fonctions pour comparer des datetime :heink:
Et t'as aussi des fonction pour formatter un timestamp en chaine de caractere pour l'afficher dans ta page php


 
Sois plus précis : quel timestamp (PHP ou MySQL) ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:03:44    

on peut utiliser "ORDER BY CHAMP_DATE DESC" dans la requete sql si CHAMP_DATE est un datetime ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:08:05    

evidemment


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 14:08:47    

flow24 a écrit :

Sois plus précis : quel timestamp (PHP ou MySQL) ?


 
mysql ... et formattage dans la requete directement (date_format()...)


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 14:10:57    

oki :p


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:19:46    

et y'a une fonction pour formater un datetime en chaine du type "Lundi 28 Juin 2004 à 14h21" ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:20:26    

ou on doit se faire ca "manuellement" ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:23:40    

flow24 a écrit :

ou on doit se faire ca "manuellement" ?


 
http://dev.mysql.com/doc/mysql/en/ [...] tions.html
 
date_format() bis


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 14:49:15    

Désolé mais je ne connais vraiment pas grand chose de mysql. Comment utiliser la fonction DATE_FORMAT(date,format) ? Merci


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:50:38    

nan en fait je crois que j'y suis arrivé grace a la doc


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 14:52:10    

:pfff: mais lis la doc quoi ... en plus je te donne le lien...
 
'croyable ca

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
        -> 'Saturday October 1997'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
        -> '22:23:00'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                          '%D %y %a %d %m %b %j');
        -> '4th 97 Sat 04 10 Oct 277'
mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
                          '%H %k %I %r %T %S %w');
        -> '22 22 10 10:23:00 PM 22:23:00 00 6'
mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
        -> '1998 52'


 
remplace 'date' en argument par le nom du champs datetime de ta table


Message édité par boulax le 28-06-2004 à 14:52:57

---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 14:54:37    

flow24 a écrit :

nan en fait je crois que j'y suis arrivé grace a la doc


 
regarde au dessus


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 15:25:41    

j'essaie ceci mais ca ne fonctionne pas...
 
mysql_query ("SELECT DATE_FORMAT ('2004-12-12 22:23:00', '%W %M %Y');" )
or die ("Erreur : ".__FILE__.":".__LINE__."<BR>".mysql_error ()) ;
 
Comment ca se fait ?


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 15:26:23    

erreur : You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '('2004-12-12 22:23:00', '%W %M %Y')' at line 1


---------------
www.balland.org
Reply

Marsh Posté le 28-06-2004 à 15:28:32    

peut etre qu'en dehors de la console mysql il faut imperativement une table sur laquelle effectuer la requete. Fais des essais sur une table ( select date_format(..,..) from table etc.)


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-06-2004 à 15:34:56    

ok merci, v essayer


---------------
www.balland.org
Reply

Marsh Posté le 29-06-2004 à 13:24:10    

Si cela intéresse du monde : j'ai trouvé une solution bien meilleure. La requete MySQL aurait été dans une boucle => ca aurait fait perdre beaucoup de temps dans le traitement de la page.
 
A la place de ca j'ai écrit une fonction (comme elle n'existe pas officiellement !) qui convertit un TIMESTAMP (14) donné par MySQL en TIMESTAMP interprétable par PHP.
 
La voilà :  
 

Code :
  1. $Year    = substr ($TOPICS['TIME_STAMP'], 0, 4) ;
  2. $Month   = substr ($TOPICS['TIME_STAMP'], 4, 2) ;
  3. $Day     = substr ($TOPICS['TIME_STAMP'], 6, 2) ;
  4. $Hour    = substr ($TOPICS['TIME_STAMP'], 8, 2) ;
  5. $Minute  = substr ($TOPICS['TIME_STAMP'], 10, 2) ;
  6. $Second  = substr ($TOPICS['TIME_STAMP'], 12, 2) ;
  7. $Date = getdate (mktime ($Hour, $Minute, $Second, $Month, $Day, $Year)) ;
  8. Note : $TOPICS['TIME_STAMP'] est le TIMESTAMP(14) donné par MySQL.


 
Voilà, ca marche nickel ché moi ;)


Message édité par flow24 le 29-06-2004 à 13:24:53

---------------
www.balland.org
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed