[ Réactions ] Les erreurs fréquentes en SQL / PHP - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [ Réactions ] Les erreurs fréquentes en SQL / PHP (/showthread.php?tid=2068) Pages :
1
2
|
[ Réactions ] Les erreurs fréquentes en SQL / PHP - Plume - 27-11-2007 Bonsoir Ce soir, l'apparition d'un nouveau post-it dans le forum voit le jour. [ Les erreurs fréquentes en SQL / PHP ] Ce topic est là pour vous permettre de réagir, commenter, proposer des questions & des réponses si vous en avez. ~L~ RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - Plume - 27-11-2007 On ne demande pas de participer parce que tu fais des erreurs. On demande de poser les questions fréquentes avec la réponse si tu l'as. On demande de critiquer, compléter les réponses qui sont données. RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - joshua - 27-11-2007 Quel homme, ce Lex. Bravo en totu cas, en ce moment tu te démène!! Mercid 'avoir pitié de tes collègues qui croulent sous le boulot :d RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - pascal - 27-11-2007 très bonne initiative on pourrait ajouter à chaque erreur un ou deux exemples concrêts, en renvoyant vers un sujet ou deux qui traitent cette erreur ? A+ Pascal RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - naholyr - 27-11-2007 Il y a déjà beaucoup d'infos sur PHPFrance - FAQ & Tutoriels, dont l'histoire des headers already sent, undefined variable, etc... Tachons de factoriser les efforts et de ne pas tous refaire X fois la même chose. naholyr, lutter contre la réinvention de la roue, à tous les niveaux. RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - Sephi-Chan - 27-11-2007 Une erreur de conception classique, utiliser des champs VARCHAR pour stocker des timestamp PHP dans une table SQL. Les champ de type TIMESTAMP sont fait pour ça, ils stockent la date au format AAAA-MM-JJ HH:MM:SS, le TIMESTAMP qu'il est alors que j'écris ces lignes est 2007-11-27 07:26:54 ! Ces valeurs sont bien plus lisibles et surtout, bien plus pratique à utiliser ! On peut facilement les mettre en valeur par défaut d'un champ, et le TIMESTAMP est alors généré automatiquement par SQL lors de l'enregistrement d'une entrée dans la table : rien à gérer côté PHP ! On peut s'en servir pour formater une date directement avec SQL, à l'aide de la fonction SQL DATE_FORMAT(date, format), qui s'utilise de cette manière : Cette requête renvoie le nom (champ : nom) et la date d'inscription (nom du champ : date_inscription) de chaque joueur, on ne renvoie ici que le jour, le mois et l'année d'inscription, car le reste n'est pas nécessaire : Code PHP :
Si j'avais voulu renvoyer le moment de l'inscription à la minute près et dans une jolie chaîne de caractères, j'aurais fais : Code PHP :
On trouvera les correspondances sur PHPFrance - Formater une date par exemple. Les TIMESTAMP sont plus pratique à utiliser pour les fonctions de dates. Par exemple, si je veux effacer les messages d'une table et qui ont été crées il y à 5 jours ou plus : Code PHP :
À voir : Sephi-Chan RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - jean-baptiste - 27-11-2007 Sephi-Chan a écrit :Par exemple, si je veux effacer les messages d'une table et qui ont été crées il y à 5 jours ou plus : c'est pas plus simple de faire ça : Code PHP :
RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - jean-baptiste - 27-11-2007 Mais oui c'est vrai que cela fait vraiment 5 jours pile à la seconde près si on veu plus être général ta solution est bien aussi ! ( je n'y avais pas pensé ) A voir selon l'usage ! RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - naholyr - 27-11-2007 Manipulation des temps, parce qu'il y a des confusion à éclaircir : - mktime() sert à créer un timestamp à partir de paramètres, si tu ne veux lui passer aucun paramètre autant appeler time(). - MySQL travaille à la précision donnée par le type du champ, un type TIMESTAMP est à la seconde près, donc "DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 5 DAY)" c'est 5 jours avant, à la seconde près. - Quand on fait des requêtes, l'idée générale est de déléguer le maximum de traitements au serveur SQL, donc c'est une bonne chose de lui faire gérer les traitements de date directement. - Il y a strtotime() qui existe et qui est diablement pratique, plutôt que de faire "time()-432000" on peut faire "strtotime('-5 DAYS')" RE: [ Réactions ] Les erreurs fréquentes en SQL / PHP - jean-baptiste - 27-11-2007 ah ouè strtotime est très pratique |