Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2922 connectés 

 


Pour ou contre du changement sur le topic ?


 
35.7 %
 5 votes
1.  Oui, faq / bonnes pratiques + blabla@php
 
 
0.0 %
        0 vote
2.  Oui, blabla@php uniquement
 
 
7.1 %
 1 vote
3.  Ce topic mérite la poubelle. Pauvre poubelle
 
 
21.4 %
 3 votes
4.  Non, ce topic reste tel quel
 
 
35.7 %
 5 votes
5.  Obiwan n'aime pas le php
 

Total : 16 votes (2 votes blancs)
Ce sondage est clos, vous ne pouvez plus voter
 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  8  9  10  ..  65  66  67  68  69  70
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°1782881
tomsoft
Posté le 04-09-2008 à 22:49:12  profilanswer
 

Reprise du message précédent :
c'est pas php qui chie dans la colle ?

mood
Publicité
Posté le 04-09-2008 à 22:49:12  profilanswer
 

n°1782885
theredled
● REC
Posté le 04-09-2008 à 23:28:29  profilanswer
 


stune blague drôle


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1782886
theredled
● REC
Posté le 04-09-2008 à 23:29:33  profilanswer
 

tomsoft a écrit :

:hello:
 
petit problemùe recurent que j'arrive d'habitude a resoudre mais la :/
 
mes fichiers php sont encodés en utf8 (avec notepad++), l'entete html j'ai precisé utf8, mais quand je recup des infos dans ma bdd (mysql), les char accentués sont affichés avec dans logos "?" dans mes pages, mais passent bien avec phpMyadmin,
 
so, what's the fuck ?


Tu as configuré ta base de donnée et mis un "SET NAMES utf-8" après chaque connexion ?


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1782888
tomsoft
Posté le 04-09-2008 à 23:42:21  profilanswer
 

dans le singleton de connexion :

 
Code :
  1. private function __construct() {
  2.             if (! ($tmp = mysql_connect(self::host, self::user, self::passwd)))
  3.                 throw new Exception("Connexion impossible : ".mysql_error(MysqlDB::$lien)) ;
  4.             MysqlDB::$lien = &$tmp ;
  5.             if (! mysql_select_db(self::base, MysqlDB::$lien))
  6.                 throw new Exception("Sélection de la base impossible : ".mysql_error(MysqlDB::$lien)) ;
  7.             mysql_query("SET CHARACTER SET 'utf8'", MysqlDB::$lien) ;
  8.         }
 

ya bien un set character set 'utf8' :)


Message édité par tomsoft le 04-09-2008 à 23:43:01
n°1782889
theredled
● REC
Posté le 04-09-2008 à 23:43:48  profilanswer
 

SET NAMES utf8 :o

 

SET CHARACTER SET 'utf8' ça sert à rien, c'est à la création de la table ça


Message édité par theredled le 04-09-2008 à 23:44:44

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1782890
tomsoft
Posté le 04-09-2008 à 23:47:00  profilanswer
 

ca change pas :/

n°1782893
theredled
● REC
Posté le 04-09-2008 à 23:57:23  profilanswer
 

Tien j'avais loupé le "passent bien avec phpmyadmin" :o

 

Si t'as des "?" à l'affichage c'est que les données en base sont en ISO, mais que tu les affiches bien en UTF-8, typiquement (le navigateur inteprete comme utf-8 des caractères qui n'existent pas en utf-8).

 

Tes tables sont bien encodées en UTF-8 ?

 

Tu as changé récemment l'encodage de la BDD, et si oui comment ?

Message cité 1 fois
Message édité par theredled le 05-09-2008 à 00:00:03

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1782894
tomsoft
Posté le 05-09-2008 à 00:06:58  profilanswer
 

theredled a écrit :

Tien j'avais loupé le "passent bien avec phpmyadmin" :o
 
Si t'as des "?" à l'affichage c'est que les données en base sont en ISO, mais que tu les affiches bien en UTF-8, typiquement (le navigateur inteprete comme utf-8 des caractères qui n'existent pas en utf-8).
 
Tes tables sont bien encodées en UTF-8 ?
 
Tu as changé récemment l'encodage de la BDD, et si oui comment ?


 
via outils dans phpmyadmin, c'est latin... donc iso, mais si je met unicode, ca passe paas non plus:/

n°1782895
theredled
● REC
Posté le 05-09-2008 à 00:20:34  profilanswer
 

tomsoft a écrit :

 

via outils dans phpmyadmin, c'est latin... donc iso, mais si je met unicode, ca passe paas non plus:/


On met pas en UTF-8 simplement comme ça, ça ne fait que changer l'encodage pour les prochains enregistrements...

 

Il faut convertir les données existantes, soit en exportant la BDD, enregistrer le fichier en utf-8 et réimporter, soit avec un outil plus moderne que je ne connais pas [:marc]

 

Par contre autant pour moi, SET CHARACTER SET n'est pas ce que je pensais : http://dev.mysql.com/doc/refman/5. [...] ction.html
Mais perso je ne l'ai jamais utilisé, et jamais eu besoin.

 

SET NAMES par contre est important car il précise l'encodage des réquêtes rentrant dans la base (donc l'encodage des données rentrantes aussi)

 

Bref, si tu veux laisser ta base en ISO ya sûrement d'autres moyens, mais si tu la veux elle aussi en UTF-8 va valoir la convertir.


Message édité par theredled le 05-09-2008 à 00:21:19

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1782914
FlorentG
Posté le 05-09-2008 à 08:38:39  profilanswer
 

tomsoft a écrit :

mais quand je recup des infos dans ma bdd (mysql), les char accentués sont affichés avec dans logos "?" dans mes pages


Charactères utf-8 convertis en iso-8859-1 par mysql, charactères de la plage 0x7f-0xff, interdits en utf-8. T'as oublié le set names après la connexion :

Code :
  1. mysql_query('SET NAMES utf8');


Note que c'est utf8, et pas utf-8

 


EDIT : Merde y'a une page 9 [:sadnoir]

 

Et c'est pas ça le problèmes [:sadnoir]

Message cité 1 fois
Message édité par FlorentG le 05-09-2008 à 08:39:49
mood
Publicité
Posté le 05-09-2008 à 08:38:39  profilanswer
 

n°1782931
Dj YeLL
$question = $to_be || !$to_be;
Posté le 05-09-2008 à 09:23:23  profilanswer
 

FlorentG a écrit :


Charactères utf-8 convertis en iso-8859-1 par mysql, charactères de la plage 0x7f-0xff, interdits en utf-8. T'as oublié le set names après la connexion :

Code :
  1. mysql_query('SET NAMES utf8');


Note que c'est utf8, et pas utf-8

 


EDIT : Merde y'a une page 9 [:sadnoir]

 

Et c'est pas ça le problèmes [:sadnoir]

 

J'ai commencé à écrire pareil ( le "set names" ) avant de voir qu'il y avait une page 9 :D

 

Donc y'a plus qu'à convertir. La fois où je l'ai dais, j'ai fais un dump complet, que j'ai ouvert avec un éditeur, j'ai passé l'éditeur en UTF8 et j'ai sauvé, et réimport \o/

 

Je sais pas si y'a plus simple, ou si y'a des outils prévu pour faire ça, mais en tout cas ça avait bien marché.

 

Edit : Je ne sais plus quel éditeur j'ai utilisé, Notepad2 peut être. Parce que certains, quand tu passes l'encodage de ISO à UTF, ne convertissent pas les caractères, et donc tu te retrouve avec les chars de merde dans le dump.

Message cité 1 fois
Message édité par Dj YeLL le 05-09-2008 à 09:24:31

---------------
Gamertag: CoteBlack YeLL
n°1782932
FlorentG
Posté le 05-09-2008 à 09:28:22  profilanswer
 

Dj YeLL a écrit :

La fois où je l'ai dais, j'ai fais un dump complet, que j'ai ouvert avec un éditeur, j'ai passé l'éditeur en UTF8 et j'ai sauvé, et réimport \o/


J'ai dû faire pareil une fois :sweat: Au moins c'est sûr ça fonctionne :/

n°1783302
Dr Bing
Posté le 05-09-2008 à 20:46:52  profilanswer
 

Question existentielle d'un n00b de la poo :o

 

Je me fais un petit script de publication de news.

 

Voici une partie de mon index.php de la partie administration :

 
Code :
  1. switch ($_GET['action']) {
  2.     
  3.         case "add" :
  4.             $instance->AddNews();
  5.             break;
  6.             
  7.         
  8.         case "view" :
  9.             $instance->ViewAdminNews();
  10.             break;
  11.         
  12.         
  13.         case "del" :
  14.             $instance->DelNews();
  15.             break;
  16.             
  17.             
  18.         default :
  19.         echo "Veuillez choisir parmi les actions suivantes :<br />";
  20.         echo "<li><a href=\"?action=add\">Ajouter une news</a><br />";
  21.         echo "<li><a href=\"?action=view\">Supprimer une ou plusieurs news</a><br />";
  22.         break;
  23.         
  24.     }
 

Je suis donc en train de faire le script pour ajouter une news dans la BDD, soit ma fonction AddNews(). Dedans, j'affiche donc le formulaire, c'est OK. Par contre, je pêche au niveau du traitement pour insérer ma news dans la BDD ...
Ne faisant pas de POO avant, j'avais l'habitude d'insérer un champ invisible dans mon formulaire. Si le champ est vide, c'est que le formulaire est vierge. Si le champ n'est plus vide (donc possède une valeur quelconque qui est passé avec $_POST) c'est que l'utilisateur à cliquer sur le bouton submit, donc j'insère en BDD.

 

BREF §§§§§

 

Tout ça pour demander où est-ce que je devais faire mon traitement pour insérer la news ? Toujours dans ma fonction AddNews() ? Ou bien je créé une autre fonction "AddNewsSuite" par exemple, et sur mon index.php, je fais :

 
Code :
  1. switch ($_GET['action']) {
  2.     
  3.         case "add" :
  4.        
  5.            if ( !empty($_POST['mon_champ_invisible'] ) {
  6.                 $instance->AddNewsSuite();
  7.            }
  8.            else {
  9.                 $instance->AddNews();
  10.            }
  11.             
  12.            break;
  13.             
  14.         
  15.         case "view" :
  16.             $instance->ViewAdminNews();
  17.             break;
  18.         
  19.         
  20.         case "del" :
  21.             $instance->DelNews();
  22.             break;
  23.             
  24.             
  25.         default :
  26.         echo "Veuillez choisir parmi les actions suivantes :<br />";
  27.         echo "<li><a href=\"?action=add\">Ajouter une news</a><br />";
  28.         echo "<li><a href=\"?action=view\">Supprimer une ou plusieurs news</a><br />";
  29.         break;
  30.         
  31.     }
 

Grosso-modo, je ne sais pas si je dois toucher à mon fichier index.php ou a ma classe ...

Message cité 2 fois
Message édité par Dr Bing le 05-09-2008 à 20:47:53

---------------
[A VENDRE en pièces détachées] Boitier Lian Li noir, Alim Seasonic 500W, graveur, etc.
n°1783317
theredled
● REC
Posté le 05-09-2008 à 21:59:03  profilanswer
 

Dr Bing a écrit :


Ne faisant pas de POO avant, j'avais l'habitude d'insérer un champ invisible dans mon formulaire. Si le champ est vide, c'est que le formulaire est vierge. Si le champ n'est plus vide (donc possède une valeur quelconque qui est passé avec $_POST) c'est que l'utilisateur à cliquer sur le bouton submit, donc j'insère en BDD.


Je suis pas sûr de comprendre. Sans parler de POO ou pas, il te servait à quoi ton champ supplémentaire ? Pour savoir si un formulaire a été posté, tu as juste à regarder si le tableau $_POST est vide :D

 

Mais dans tous les cas je ne vois pas le rapport avec la POO :o

 
Dr Bing a écrit :

Grosso-modo, je ne sais pas si je dois toucher à mon fichier index.php ou a ma classe ...


Sachant que de toute façon la méthode AddNews va être appelée après le traitement du formulaire (cas 1 : ya des erreurs, cas 2 : message de succès), autant le faire dedans, comme ça c'est elle qui s'occupera de tout le processus d'ajout, et le gèrera comme elle le veut (au lieu de déléguer ça à son père qui a autre chose à foutre).

 

C'est du MVC (ou pseudo-) ?

Message cité 1 fois
Message édité par theredled le 05-09-2008 à 22:01:06

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783348
FlorentG
Posté le 06-09-2008 à 10:26:59  profilanswer
 

Dr Bing a écrit :

Si le champ est vide, c'est que le formulaire est vierge. Si le champ n'est plus vide (donc possède une valeur quelconque qui est passé avec $_POST) c'est que l'utilisateur à cliquer sur le bouton submit


Das ist nicht gut. Un truc bien est de tester le type de requête (dans un scénario classique GET/POST) :
 

Code :
  1. switch($_SERVER['REQUEST_METHOD']) {
  2.  
  3.  case 'GET'
  4.     // Affichage initial
  5.     break;
  6.  
  7.  case 'POST':
  8.    // validation puis affichage des erreurs ou insertion
  9.    break;
  10.  
  11.  default:
  12.     header('405 Method Not Allowed');
  13.     header('Allowed: GET, POST');
  14.     exit;
  15.  
  16. }


 
Là on est correct au niveau du protocole. D'un point de vue HTTP, on ne clique pas sur des boutons submit; on "post" une "entité" (les données) à une ressource identifiée par l'URI spécifiée :D

n°1783358
theredled
● REC
Posté le 06-09-2008 à 12:24:30  profilanswer
 

FlorentG a écrit :


Das ist nicht gut. Un truc bien est de tester le type de requête (dans un scénario classique GET/POST) :

 
Code :
  1. switch($_SERVER['REQUEST_METHOD']) {
  2.  
  3.  case 'GET'
  4.     // Affichage initial
  5.     break;
  6.  
  7.  case 'POST':
  8.    // validation puis affichage des erreurs ou insertion
  9.    break;
  10.  
  11.  default:
  12.     header('405 Method Not Allowed');
  13.     header('Allowed: GET, POST');
  14.     exit;
  15.  
  16. }
 

Là on est correct au niveau du protocole. D'un point de vue HTTP, on ne clique pas sur des boutons submit; on "post" une "entité" (les données) à une ressource identifiée par l'URI spécifiée :D


On va encore te traiter d'entreprisey  [:theorie des lavabos]


Message édité par theredled le 06-09-2008 à 12:24:44

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783406
Dr Bing
Posté le 06-09-2008 à 15:51:44  profilanswer
 

theredled a écrit :


Je suis pas sûr de comprendre. Sans parler de POO ou pas, il te servait à quoi ton champ supplémentaire ? Pour savoir si un formulaire a été posté, tu as juste à regarder si le tableau $_POST est vide :D
 
Mais dans tous les cas je ne vois pas le rapport avec la POO :o
 


Wé me suis emballé, aucun rapport avec la POO, mais c'était juste pour exposer ma technique et que vous puissez comprendre mon pb :D
 

theredled a écrit :


Sachant que de toute façon la méthode AddNews va être appelée après le traitement du formulaire (cas 1 : ya des erreurs, cas 2 : message de succès), autant le faire dedans, comme ça c'est elle qui s'occupera de tout le processus d'ajout, et le gèrera comme elle le veut (au lieu de déléguer ça à son père qui a autre chose à foutre).
 
C'est du MVC (ou pseudo-) ?


Pas sûr que AddNews soit appelé après le traitement. Genre message de confirmation, pas besoin de l'appeler nan ? Même pour une erreur non ? J'affiche l'erreur et le user revient en arrière ...
 
Et pseudo MVC pourquoi pas, et encore ... :D


---------------
[A VENDRE en pièces détachées] Boitier Lian Li noir, Alim Seasonic 500W, graveur, etc.
n°1783407
Dr Bing
Posté le 06-09-2008 à 15:53:09  profilanswer
 

FlorentG a écrit :


Das ist nicht gut. Un truc bien est de tester le type de requête (dans un scénario classique GET/POST) :
 

Code :
  1. switch($_SERVER['REQUEST_METHOD']) {
  2.  
  3.  case 'GET'
  4.     // Affichage initial
  5.     break;
  6.  
  7.  case 'POST':
  8.    // validation puis affichage des erreurs ou insertion
  9.    break;
  10.  
  11.  default:
  12.     header('405 Method Not Allowed');
  13.     header('Allowed: GET, POST');
  14.     exit;
  15.  
  16. }


 
Là on est correct au niveau du protocole. D'un point de vue HTTP, on ne clique pas sur des boutons submit; on "post" une "entité" (les données) à une ressource identifiée par l'URI spécifiée :D


 
Très intéressant, j'te vole cette technique :D
 
 
Vindieu :o Y a donc une parade ? :D


---------------
[A VENDRE en pièces détachées] Boitier Lian Li noir, Alim Seasonic 500W, graveur, etc.
n°1783408
theredled
● REC
Posté le 06-09-2008 à 15:53:26  profilanswer
 

Dr Bing a écrit :


Pas sûr que AddNews soit appelé après le traitement. Genre message de confirmation, pas besoin de l'appeler nan ? Même pour une erreur non ? J'affiche l'erreur et le user revient en arrière ...


Dépend de ce que tu veux faire, en tout cas pour les erreurs c'est quand même mieux de les avoir au dessus du formulaire, dans la même page. Et ça te permet de le reremplir avec les données fournies en POST (l'user a plus qu'à corriger)

Message cité 1 fois
Message édité par theredled le 06-09-2008 à 15:54:58

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783409
theredled
● REC
Posté le 06-09-2008 à 15:54:15  profilanswer
 

Dr Bing a écrit :

Très intéressant, j'te vole cette technique :D


Code :
  1. if($_POST) {
  2.  
  3. }


Donne le même résultat :o

Message cité 2 fois
Message édité par theredled le 06-09-2008 à 15:54:22

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783410
Dr Bing
Posté le 06-09-2008 à 15:57:48  profilanswer
 

theredled a écrit :


Dépend de ce que tu veux faire, en tout cas pour les erreurs c'est quand même mieux de les avoir au dessus du formulaire. Et ça te permet de le reremplir avec les données fournies en POST (l'user a plus qu'à corriger)


Wé cay clair, rien de plus chiant qu'un formulaire qui redevient vierge à cause d'une erreur et d'un retour en arrière sur la page :D
 
D'ailleurs, vous avez une technique ou un tip pour afficher l'erreur qui va juste en dessous de l'input qui a été mal rempli ?
 

theredled a écrit :


Code :
  1. if($_POST) {
  2.  
  3. }


Donne le même résultat :o


Cay trop simple pour être vrai [:d_omi]


---------------
[A VENDRE en pièces détachées] Boitier Lian Li noir, Alim Seasonic 500W, graveur, etc.
n°1783411
theredled
● REC
Posté le 06-09-2008 à 16:04:12  profilanswer
 

Dr Bing a écrit :


Wé cay clair, rien de plus chiant qu'un formulaire qui redevient vierge à cause d'une erreur et d'un retour en arrière sur la page :D

 

D'ailleurs, vous avez une technique ou un tip pour afficher l'erreur qui va juste en dessous de l'input qui a été mal rempli ?

 



Ben ya plein de manières, mais basiquement ce sera toujours un "if erreur_machin est là alors je l'affiche" avant chaque champ... A près à toi d'automatiser comme tu veux sans copier-coller, ou pas.

Citation :


Cay trop simple pour être vrai [:d_omi]

Et pourtant :o


Message édité par theredled le 06-09-2008 à 16:06:15

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783417
Dr Bing
Posté le 06-09-2008 à 16:22:03  profilanswer
 
n°1783420
Dj YeLL
$question = $to_be || !$to_be;
Posté le 06-09-2008 à 16:27:54  profilanswer
 

theredled a écrit :


Code :
  1. if($_POST) {
  2.  
  3. }


Donne le même résultat :o


 
Pas forcément quand même :o
 
Tu peux appeler une page en POST avec un POST vide :o
 
Mieux faut vérifier le $_SERVER['REQUEST_METHOD'] :o


---------------
Gamertag: CoteBlack YeLL
n°1783424
theredled
● REC
Posté le 06-09-2008 à 16:41:29  profilanswer
 

Dj YeLL a écrit :


 
Pas forcément quand même :o
 
Tu peux appeler une page en POST avec un POST vide :o
 
Mieux faut vérifier le $_SERVER['REQUEST_METHOD'] :o


Quand t'as un formulaire, c'est quand même ballot :o à moins de n'avoir que des checkboxes vides et un submit non nommé :o ça ne m'est jamais arrivé [:cosmoschtroumpf]


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783425
Dj YeLL
$question = $to_be || !$to_be;
Posté le 06-09-2008 à 16:44:06  profilanswer
 

theredled a écrit :


Quand t'as un formulaire, c'est quand même ballot :o à moins de n'avoir que des checkboxes vides et un submit non nommé :o ça ne m'est jamais arrivé [:cosmoschtroumpf]


 
La question n'est pas de savoir si ça arrive souvent ou pas, le fait que c'est techniquement possible, donc à prendre en compte :o


---------------
Gamertag: CoteBlack YeLL
n°1783426
theredled
● REC
Posté le 06-09-2008 à 16:46:11  profilanswer
 

Dj YeLL a écrit :

 

La question n'est pas de savoir si ça arrive souvent ou pas, le fait que c'est techniquement possible, donc à prendre en compte :o


Oui mais le but ici n'est pas de savoir si la requete s'est faite en méthode POST, mais simplement si un formulaire précis a été envoyé.

 

On utilisera REQUEST_METHOD quand on voudra savoir si un formulaire quelconque et de format inconnu a été envoyé, oui, là ça vaudra les 50 caractères en plus :o


Message édité par theredled le 06-09-2008 à 16:47:58

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1783620
Tristou
Keep calm and hack cookies
Posté le 07-09-2008 à 14:14:27  profilanswer
 

Question à propos d'un truc auquel max et moi ne sommes pas d'accord : dans le cadre du dév du forum, pour la table sujets, je pensais mettre un champ avec la date de la dernière réponse mais  max pense qu'avec une jointure et l'ID du dernier message, ce champ n'est pas utile. Qui qu'a raison :o ?


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1783621
masklinn
í dag viðrar vel til loftárása
Posté le 07-09-2008 à 14:16:20  profilanswer
 

Tristou a écrit :

Question à propos d'un truc auquel max et moi ne sommes pas d'accord : dans le cadre du dév du forum, pour la table sujets, je pensais mettre un champ avec la date de la dernière réponse mais  max pense qu'avec une jointure et l'ID du dernier message, ce champ n'est pas utile. Qui qu'a raison :o ?


L'ID du dernier message qui serait stocké où exactement?


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1783622
Profil sup​primé
Posté le 07-09-2008 à 14:17:50  answer
 

mais t'as une table topic et une table messages ?
Et l'ID serait dans la table messages ?

n°1783623
Dr Bing
Posté le 07-09-2008 à 14:21:07  profilanswer
 

masklinn a écrit :


L'ID du dernier message qui serait stocké où exactement?


Dans la table des sujets :)


---------------
[A VENDRE en pièces détachées] Boitier Lian Li noir, Alim Seasonic 500W, graveur, etc.
n°1783625
Tristou
Keep calm and hack cookies
Posté le 07-09-2008 à 14:23:00  profilanswer
 

Ouaip, là c'est pour la page où sont listés les sujets :jap:


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1783637
masklinn
í dag viðrar vel til loftárása
Posté le 07-09-2008 à 15:29:40  profilanswer
 

Dr Bing a écrit :


Dans la table des sujets :)


Tristou a écrit :

Ouaip, là c'est pour la page où sont listés les sujets :jap:


 
Dans ce cas je dirais que vous avez tous les deux faux, et tous les deux raison [:spamafote]  
 
Stocker des données d'une réponse dans la table des sujets (que ce soit la date de dernière réponse ou son id) c'est de la dénormalisation du design de la DB, donc une optimisation (et en théorie à ne faire que quand les perfs normalisées sont trop basses et qu'il a été déterminée que cette requête spécifiquement posait problème), mais la sienne demande de faire un join, donc aura des perfs inférieures à la tienne pour faire la même chose (si c'est juste utiliser/afficher la date de la dernière réponse). Par contre elle sera plus flexible si besoin de faire des choses plus complexes (genre afficher le nom du derner posteur en plus de la date du dernier post).


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1783653
Tristou
Keep calm and hack cookies
Posté le 07-09-2008 à 16:33:39  profilanswer
 

Oui, en fait c'est afficher le nom du dernier posteur et la date de son dernier message et le lien ramène vers le dernier message (grâce à l'ID).


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1783654
masklinn
í dag viðrar vel til loftárása
Posté le 07-09-2008 à 16:38:05  profilanswer
 

Tristou a écrit :

Oui, en fait c'est afficher le nom du dernier posteur et la date de son dernier message et le lien ramène vers le dernier message (grâce à l'ID).


Ben dans ce cas, si et seulement si aller chercher le dernier post dans la db normalisée a un impact trop important sur les perfs, stocker l'id du dernier message dans la table du topic et joiner dessus est probablement une meilleure idée.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1783656
Tristou
Keep calm and hack cookies
Posté le 07-09-2008 à 16:44:08  profilanswer
 

Je note :jap:


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1783684
FlorentG
Posté le 07-09-2008 à 19:43:34  profilanswer
 


Non pas du tout. Quand Apache reçoit un HEAD, c'est silencieusement transformé en GET classique. Puis il renvoit juste les headers après avoir supprimé l'entité. Donc pas de probs [:dawa]

n°1785207
grosbin
OR die;
Posté le 10-09-2008 à 19:24:45  profilanswer
 

Je trouve le dernier débat assez stérile niveau "bonnes pratiques" ..
C'est pas bien de modifier les headers, pas bien !!!


---------------
Photos Panoramiques Montagnes Haute Savoie
n°1785212
Profil sup​primé
Posté le 10-09-2008 à 19:31:49  answer
 

:??:

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  8  9  10  ..  65  66  67  68  69  70

Aller à :
Ajouter une réponse
 

Sujets relatifs
Problème pour une mise en page sous forme de tableauAfficher sur une page web directement le resultat d'une autre page web
[PHP] Fonction include plus rapide qu'un bout de code dans la page ?Ouvrir un fichier HTML en fin de page
[Résolu] Expirer la cache au niveau de la pageexecuter une page php sans rien afficher
inserer dans ma page wikiControler le changement de page
Certificat SSL a valider pour chaque élément de pageinstallé un mdp sur une page web avec Namo
Plus de sujets relatifs à : blabla@php | faq et bonnes pratiques page 1


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)