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

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  549  550  551  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1726855
Jubijub
Parce que je le VD bien
Posté le 30-04-2008 à 13:19:52  profilanswer
 

Reprise du message précédent :
j'ai beau réfléchir j'arrive pas à trouver un seul avantage au fait d'avoir tant de bases...on m'a tjs appris que si t'en viens à te demander comment créer plusieurs centaines de tables pour résoudre ton problème, c'est que t'as mal posé la question
 
quand tu vois aussi que les bonnes pratiques de dev te poussent à avoir des environnement de dev, d'intégration, de test, de valid/recette, de maintenance, de prod, soit 4-5 environnements, si tu as 1000 bases je te laisse calculer la complexité du bordel à administrer...
 


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le 30-04-2008 à 13:19:52  profilanswer
 

n°1726861
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-04-2008 à 13:34:59  profilanswer
 

Jubijub a écrit :

j'ai beau réfléchir j'arrive pas à trouver un seul avantage au fait d'avoir tant de bases...


arret/sauvegarde/réparation d'un et d'un seul client.
Admettons que je fasse une appli de facturation "en ligne" et que j'ai 5 artisans qui s'en servent ( un boucher, un boulanger, un crémier, un maraicher et un poissonier). Les données communes entre ces "clients" sont nulles.
Quel est l'interêt de mettre toutes leurs données dans un seule et unique base?

Jubijub a écrit :

on m'a tjs appris que si t'en viens à te demander comment créer plusieurs centaines de tables pour résoudre ton problème, c'est que t'as mal posé la question


C'est pas des tables mais des instances d'une base dont on parle.

Jubijub a écrit :

quand tu vois aussi que les bonnes pratiques de dev te poussent à avoir des environnement de dev, d'intégration, de test, de valid/recette, de maintenance, de prod, soit 4-5 environnements, si tu as 1000 bases je te laisse calculer la complexité du bordel à administrer...


Encore une fois c'est pas 1000 bases différentes, mais 1000 fois la même base!!!
Le fait est qu'il héberge ces instances mais ça fonctionnerai pareil s'il avait prévu un installable de son forum pour le faire fonctionner sur le serveur "perso" de chaque utilisateur.
 
Ma conclusion: ça dépend de plein de choses ... :o


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1726870
Dion
Acceuil
Posté le 30-04-2008 à 13:48:32  profilanswer
 

Dj YeLL a écrit :


 
Pourquoi ?
 
Je vois pas ce qu'il y a d'illogique à ce qu'un client ait sa propre base [:spamafote] T'es franchement lourd avec des phrases à la con et tes smileys qui ne valent pas mieux. Ça te trouerait le cul d'argumenter ? Quitte à rien dire autant fermer sa gueule non ?
 
Si je pose la question c'est que je ne sais pas quelle est la meilleure solution, tu crois qu'un "lolilol" va m'aider ?
 
Et comme je l'ai dis, je ne vois pas pourquoi créer une BDD pour chaque client serait pas faisable.


 
Parce qu'au dela d'un certain stade on est démuni et qu'on ne voit pas que répondre d'autre que lolilol :(


---------------
It is not called show art
n°1726879
lorill
Posté le 30-04-2008 à 14:11:13  profilanswer
 

nous ici on a les deux : code hopital et une seule base pour la plupart, mais les sites distants avec une liaison pourrie ont leur propre base [:spamafote]
 
mais c'est a cause du réseau, pas des données.

n°1726880
kao98
...
Posté le 30-04-2008 à 14:15:20  profilanswer
 

J'ai un problème avec XHR !
Avec IE7, je ne récupère pas les bons headers. Aucun problème avec Opera ou FF, mais avec IE7, je récupère toujours le même header, un mauvais bien sûr, même si je change quoi que ce soit via php (fonction header). Vous savez ce que ça peut être ?
 
Edit : ha ben, ça marche maintenant ! Qu'est-ce qui a bien pu se passer ? Ca devait être à cause du cache :/ M'enfin, ça fonctionne, c'est l'essentiel !


Message édité par kao98 le 30-04-2008 à 14:18:42
n°1726883
ratibus
Posté le 30-04-2008 à 14:17:25  profilanswer
 

masklinn a écrit :


http://en.wikipedia.org/wiki/Partition_(database) [:dawa]
 
Naturellement, c'est mieux quand la db est suffisament intelligente pour gérer ça toute seule :o


 

masklinn a écrit :


Sauf quand tu utilises une DB poorie qui le gère pas genre MySQL :o


You fail :o
 
http://dev.mysql.com/doc/refman/5. [...] oning.html


---------------
Mon blog
n°1726888
flo850
moi je
Posté le 30-04-2008 à 14:21:41  profilanswer
 

non, mais le je vois une confusion

 

soit une instance de l'appli par user/client. Si on veut pousser jusqu'au bout on peut aller jusqu'a une insatnce de mysql et une de apache /client, ou des serveurs virtualisés par client .
Mais dans ce cas, les stats et les traitements globaux sont plus compliqué

 

soit on a une appli multi client ( une seule base, avec des réplications pour le cache ou le "hors connexion" )  qui permet plus simplement le traitement par lot, mais qui implique d'avoir bien reflechis a la structure avant

 

Message cité 1 fois
Message édité par flo850 le 30-04-2008 à 14:21:53

---------------

n°1726902
masklinn
í dag viðrar vel til loftárása
Posté le 30-04-2008 à 14:42:49  profilanswer
 


Citation :

Partitioned tables created with MySQL versions prior to 5.1.6 cannot be read by a 5.1.6 or later MySQL Server. In addition, the INFORMATION_SCHEMA.TABLES table cannot be used if such tables are present on a 5.1.6 server. Beginning with MySQL 5.1.7, a suitable warning message is generated instead, to alert the user that incompatible partitioned tables have been found by the server.
 
If you are using partitioned tables which were created in MySQL 5.1.5 or earlier, be sure to see Section C.1.20, “Changes in MySQL 5.1.6 (01 February 2006)” for more information and suggested workarounds before upgrading to MySQL 5.1.6 or later.
 
The partitioning implementation in MySQL 5.1 is still undergoing development. For known issues with MySQL partitioning, see Section 18.5, “Restrictions and Limitations on Partitioning”, where we have noted these.


Ca fait trop confiance [:dawak]


---------------
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°1726903
skeye
Posté le 30-04-2008 à 14:43:33  profilanswer
 

flo850 a écrit :

non, mais le je vois une confusion  
 
soit une instance de l'appli par user/client. Si on veut pousser jusqu'au bout on peut aller jusqu'a une insatnce de mysql et une de apache /client, ou des serveurs virtualisés par client .
Mais dans ce cas, les stats et les traitements globaux sont plus compliqué
 
soit on a une appli multi client ( une seule base, avec des réplications pour le cache ou le "hors connexion" )  qui permet plus simplement le traitement par lot, mais qui implique d'avoir bien reflechis a la structure avant  


 
Sauf que lui il veut une appli multi clients qui sépare les bdd des clients.:D


---------------
Can't buy what I want because it's free -
n°1726919
ratibus
Posté le 30-04-2008 à 15:10:12  profilanswer
 

masklinn a écrit :


Citation :

Partitioned tables created with MySQL versions prior to 5.1.6 cannot be read by a 5.1.6 or later MySQL Server. In addition, the INFORMATION_SCHEMA.TABLES table cannot be used if such tables are present on a 5.1.6 server. Beginning with MySQL 5.1.7, a suitable warning message is generated instead, to alert the user that incompatible partitioned tables have been found by the server.
 
If you are using partitioned tables which were created in MySQL 5.1.5 or earlier, be sure to see Section C.1.20, “Changes in MySQL 5.1.6 (01 February 2006)” for more information and suggested workarounds before upgrading to MySQL 5.1.6 or later.
 
The partitioning implementation in MySQL 5.1 is still undergoing development. For known issues with MySQL partitioning, see Section 18.5, “Restrictions and Limitations on Partitioning”, where we have noted these.


Ca fait trop confiance [:dawak]


Mais c'est "normal" c'est révision en beta [:pingouino]
La 5.1 n'est pas encore diffusée ;) (mais annoncée par Sun lors de la conf MySQL).


---------------
Mon blog
mood
Publicité
Posté le 30-04-2008 à 15:10:12  profilanswer
 

n°1726920
flo850
moi je
Posté le 30-04-2008 à 15:11:00  profilanswer
 

skeye a écrit :


 
Sauf que lui il veut une appli multi clients qui sépare les bdd des clients.:D


 
alors autant pousser jusqu'au bout et faire tourner le truc dans des instances séparés, qu'il y ai au moins l'avantage de la sécurisation  
 
le seul cas ou j'ai utilisé plusieurs base pour  un même ensemble, c'est pour notre datawarehouse, qui est composé de 4 datamarts ( un pour les rh , un pour les finances, ... ) , pour simplifier l'alimentation et la gestion de la sécurité . Dans ce cas, là, je me retrouve quand même régulièrement à faire des requêtes sur plusieurs bases de données, mais sous SQL server ça se apsse pas trop mal


---------------

n°1726923
skeye
Posté le 30-04-2008 à 15:25:23  profilanswer
 

flo850 a écrit :

 

alors autant pousser jusqu'au bout et faire tourner le truc dans des instances séparés

 

ah ben ça...mais bon c'est plus chiant à automatiser en php, a priori.[:petrus75]

 
flo850 a écrit :

le seul cas ou j'ai utilisé plusieurs base pour  un même ensemble, c'est pour notre datawarehouse, qui est composé de 4 datamarts ( un pour les rh , un pour les finances, ... ) , pour simplifier l'alimentation et la gestion de la sécurité . Dans ce cas, là, je me retrouve quand même régulièrement à faire des requêtes sur plusieurs bases de données, mais sous SQL server ça se apsse pas trop mal


Perso j'ai plusieurs bases de données pour un truc, mais il utilise les bases de plusieurs autres applis, et même de plusieurs instances de la même appli qui sont sur des serveurs différents...

Message cité 1 fois
Message édité par skeye le 30-04-2008 à 15:25:41

---------------
Can't buy what I want because it's free -
n°1726924
Jubijub
Parce que je le VD bien
Posté le 30-04-2008 à 15:25:47  profilanswer
 

anapajari a écrit :


arret/sauvegarde/réparation d'un et d'un seul client.
Admettons que je fasse une appli de facturation "en ligne" et que j'ai 5 artisans qui s'en servent ( un boucher, un boulanger, un crémier, un maraicher et un poissonier). Les données communes entre ces "clients" sont nulles.
Quel est l'interêt de mettre toutes leurs données dans un seule et unique base?


ben 1 base = facilité de gestion
 
et le coup de l'arret/sauvegarde pour un client, je vois le besoin, mais je doute que la soluce y réponde : si une base tombe y'a des chances que l'instance du serveur SQL qui l'héberge tombe aussi ou se sente pas bien...donc séparer les bases ça sépare pas assez pour se prémunir de ce risque...si tu veux t'en prémunir, au minimum tu virtualises, et chaque client a son instance de server...avec des bons softs de virtualization, tu montes une instance tt configurée en 3 coups de cuiller à pot, et là t'as qqc qui est vraiment séparé
 

anapajari a écrit :


Encore une fois c'est pas 1000 bases différentes, mais 1000 fois la même base!!!
Le fait est qu'il héberge ces instances mais ça fonctionnerai pareil s'il avait prévu un installable de son forum pour le faire fonctionner sur le serveur "perso" de chaque utilisateur.
 
Ma conclusion: ça dépend de plein de choses ... :o


mouhais...ça ressemble vachement à un business case pour mettre en place de la virtualisation
 
 


---------------
Jubi Photos : Flickr - 500px
n°1726934
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 15:36:27  profilanswer
 

Bon, donc d'arpès vous, la meilleure solution serait de rajouter un champ "client_id" à chaque table, et de rajouter à toutes mes requêtes un "where client_id = X" quoi...

 

Edit :

 

Pourtant un hébergeur de site web, il fourni une BDD propre à chaque client non ? Et je doute qu'ils aient que 10 clients par serveur ...

Message cité 2 fois
Message édité par Dj YeLL le 30-04-2008 à 15:39:41

---------------
Gamertag: CoteBlack YeLL
n°1726938
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-04-2008 à 15:43:58  profilanswer
 

Jubijub a écrit :

ben 1 base = facilité de gestion
...


C'était un exemple, je me faisais juste l'avocat du diable.
Par contre le coté "facilité de gestion", n'est pas tout à fait vrai non plus.
Tu n'as pas du tout les même contraintes sur mille tables de 10K enregistrement et sur une table d'un million et du coup tu vas avoir des pbs d'indexes que tu n'aurais pas...

Jubijub a écrit :

mouhais...ça ressemble vachement à un business case pour mettre en place de la virtualisation


C'est une solution. Mais je disais juste que sa question était "pas si conne"...

Dj YeLL a écrit :

Bon, donc d'arpès vous, la meilleure solution serait de rajouter un champ "client_id" à chaque table, et de rajouter à toutes mes requêtes un "where client_id = X" quoi...


C'est une solution ... ah merde ça je l'ai déjà dit ;)

Dj YeLL a écrit :

Edit :
Pourtant un hébergeur de site web, il fourni une BDD propre à chaque client non ? Et je doute qu'ils aient que 10 clients par serveur ...


qu'est ce que tu appeles exactement une BDD (a mon avis, l'incompréhension vient de là)?
Et accessoirement les problèmes des hébergeurs n'ont rien a voir avec ton problème "applicatif"

Message cité 1 fois
Message édité par anapajari le 30-04-2008 à 15:46:22

---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1726946
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 15:54:04  profilanswer
 

Bon je vais rentrer plus dans les détails alors.
 
Il s'agirait donc, à la manière d'un Blogspot pour les blogs, de mettre à disposition un forum, hébergé par nos soins.
 
J'envisageais donc de proposer à chacun une url du type "nomduforum.notresite.com".
 
Le fichier de config d'accès à la BDD étant chargé en fonction du host.
 
En gros, à l'inscription d'un client, un script créé la base, les identifiants, un compte superadmin pour la boite, un compte admin pour le client, le fichier de config etc.
 
Le problème d'utiliser 1 seule base est que si 1 seule table déconne => plus aucun client n'a de forum, ou s'il faut remonter un backup pour 1 client, tous les forums sont pénalisés etc.
 
Enfin je maintiens que j'aime bien mon idée de 1 base par forum, mais là n'est pas la question de toute façon.
 
De plus, le truc principal que je veux savoir, c'est est-ce qu'il y a une différence de performances pour MySQL entre disposer de 2 BDD ou de 2000 BDD :o


---------------
Gamertag: CoteBlack YeLL
n°1726951
0x90
Posté le 30-04-2008 à 15:57:16  profilanswer
 

C'est cool de pouvoir dire à un client lorsque sa base crashe "ah mais vous inquiétez pas, y'a qu'à vous que c'est arrivé, tout les autres vont bien !" :p


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1726952
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 15:58:00  profilanswer
 

anapajari a écrit :


C'est une solution ... ah merde ça je l'ai déjà dit ;)


 
Je sais :D
 

anapajari a écrit :


qu'est ce que tu appeles exactement une BDD (a mon avis, l'incompréhension vient de là)?  
Et accessoirement les problèmes des hébergeurs n'ont rien a voir avec ton problème "applicatif"


 
CREATE DATABASE


---------------
Gamertag: CoteBlack YeLL
n°1726953
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 15:58:37  profilanswer
 

0x90 a écrit :

C'est cool de pouvoir dire à un client lorsque sa base crashe "ah mais vous inquiétez pas, y'a qu'à vous que c'est arrivé, tout les autres vont bien !" :p


 
En l'occurence c'est plutôt l'inverse qui m'interesse [:zaib3k]


---------------
Gamertag: CoteBlack YeLL
n°1726955
omega2
Posté le 30-04-2008 à 16:01:39  profilanswer
 

0x90 a écrit :

C'est cool de pouvoir dire à un client lorsque sa base crashe "ah mais vous inquiétez pas, y'a qu'à vous que c'est arrivé, tout les autres vont bien !" :p


En tout cas, c'est surement moins cool de dire à 200 clients "on est au courant merci d'avoir appeller" tout en sachant qu'on a déjà perdu une heure de boulot à cause des coups de fils qui disent tous la même chôse.

n°1726956
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 16:03:30  profilanswer
 

Sont sympa les titre de mail de SFR :
 

Citation :

{IF0 = 0 On cherche des gagnants pour 5 séjours à Las Vegas ELSE , On cherche des gagnants pour 5 séjours à Las Vegas ENDIF}


---------------
Gamertag: CoteBlack YeLL
n°1726959
flo850
moi je
Posté le 30-04-2008 à 16:06:23  profilanswer
 

skeye a écrit :


 
ah ben ça...mais bon c'est plus chiant à automatiser en php, a priori.[:petrus75]


honnetement la virtualisation , c'est plus ce que c'etait .  
il te faut moins de 10 min pour ajouter un système de plus  a un système hote
 

skeye a écrit :


Perso j'ai plusieurs bases de données pour un truc, mais il utilise les bases de plusieurs autres applis, et même de plusieurs instances de la même appli qui sont sur des serveurs différents...


et je suis sur qu'au quotidient, tu apprécie le bordel a gérer

Dj YeLL a écrit :

Bon, donc d'arpès vous, la meilleure solution serait de rajouter un champ "client_id" à chaque table, et de rajouter à toutes mes requêtes un "where client_id = X" quoi...
 
Edit :
 
Pourtant un hébergeur de site web, il fourni une BDD propre à chaque client non ? Et je doute qu'ils aient que 10 clients par serveur ...


 
oui si tu veux absolument avoir une seul instance pour tout tes clients ( 1 instance pour moi c'est une base de données, et un ensemble de fichiers php )  
mais avoir un même ensemble de fichiers php et des bases distinctes, je suis pas sur que ca apporte quelque chose
 
 
un hebergeur à des  des besoins spécifiques ( et d'ailleurs, ils regardent de plus en plus du côté de la virtualisation )


---------------

n°1726971
skeye
Posté le 30-04-2008 à 16:25:09  profilanswer
 

flo850 a écrit :


et je suis sur qu'au quotidient, tu apprécie le bordel a gérer


 
pas le choix.[:petrus75]
Pour la virtualisation je pense pas que ça répond à sa conception de son besoin, par contre.[:dawao]


---------------
Can't buy what I want because it's free -
n°1726990
flo850
moi je
Posté le 30-04-2008 à 16:52:47  profilanswer
 

honnetement, si on a la main sur son (ses) serveurs, la virtualisation est vraiment quelques choses a envisager  
 
ça permet simplement de botter en touche pour 95% des problèmes de dimensionnement et de maintenance : deux serveurs qui se repartissent les images en fonction du besoin ou de la securisation nécessaire , et c'est bouclé


---------------

n°1727046
skeye
Posté le 30-04-2008 à 18:35:18  profilanswer
 

flo850 a écrit :

honnetement, si on a la main sur son (ses) serveurs, la virtualisation est vraiment quelques choses a envisager


Sauf que c'est plus compliqué à générer à la volée, quand même, ya du taf par rapport à quelques requêtes sql depuis du php.:D
Mais sinon je suis d'accord, hein, chez nous on bosse avec vmware pour tout le web...


---------------
Can't buy what I want because it's free -
n°1727059
masklinn
í dag viðrar vel til loftárása
Posté le 30-04-2008 à 18:55:48  profilanswer
 

ratibus a écrit :


Mais c'est "normal" c'est révision en beta [:pingouino]
La 5.1 n'est pas encore diffusée ;) (mais annoncée par Sun lors de la conf MySQL).


Donc mysql a pas de table partitioning [:spamafote]


---------------
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°1727067
flo850
moi je
Posté le 30-04-2008 à 19:24:05  profilanswer
 

skeye a écrit :


Sauf que c'est plus compliqué à générer à la volée, quand même, ya du taf par rapport à quelques requêtes sql depuis du php.:D
Mais sinon je suis d'accord, hein, chez nous on bosse avec vmware pour tout le web...


 
c'est vrai ( mais je crois que wmware est scriptable, donc a la limite tu scripte la création et le chargement de l'image standard , et tu copie le fichier de config/ les paramètres )  
 


---------------

n°1727084
Shinuza
This is unexecpected
Posté le 30-04-2008 à 20:21:38  profilanswer
 

Dj YeLL a écrit :

Sinon j'aimerai bien prendre le pli d'écrire mes variables ainsi :
 

Code :
  1. $a_myArray  = array();
  2. $b_myBool   = false;
  3. $i_myInt    = 5;
  4. $s_myString = "String";
  5. $h_myHex    = 0x5f;
  6. $f_myFloat  = 7.25422;
  7. ...



C'est bien du php ton truc? Le langage qui inclut le "type" concerné dans le nom de chacune des fonctions built-in à défaut de namespace/vrai conception objet? Ca ne te parait pas un peu redondant?

Code :
  1. array_reduce($a_myArray, "foo" )

Je connais pas l'ordre des paramètres ( :D ).

multani a écrit :

Jette un coup d'oeil sur Pompage, ils ont une série d'articles intéressants là dessus.

Si tu parles de la série d'articles sur le javascript non intrusif, c'est une traduction d'une série d'articles de merde. Certains exemples de code ne fonctionnent même pas.
 
xtof_83 : Réfléchis bien à ce que tu veux faire. Si tu veux sortir un onclick de ton html pour le mettre dans un fichier javascript super hype pour externaliser soit disant ton javascript, oublie.
Je te dis ça parce que c'est beaucoup de taf pour rien le cas échéant.
 
Le but du javascript non intrusif c'est :
 

  • Proposer une dégration correcte du contenu dans le cas ou le navigateur cible n'est pas javascript
  • Découpler suffisament la présentation de la logique pour que la maintenance soit aisée (et par extension on revient au point 1)


Dans le cas ou ton but touche un des deux points, je peux te conseiller :
 

  • DOM Scripting: Web Design with JavaScript and the Document Object Model de Jeremy Keith (1590595335)
  • PPK on Javascript de Peter-Paul Koch (0321423305)


Pour la prog javascript en elle même, hormis tout ce qui se rapproche des règles de prog en général, y'a quelques "subtilités" propres au langage qui s'apprenent sur le tas (par exemple des différences au niveau vitesse d'execution entre deux méthodes), et d'autres grosses différences qui par contre font partie intégrantes de la base du langage (prototypage, mot clé this, manipulation des types etc...)


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1727086
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 20:35:42  profilanswer
 

J'ai un besoin de jointure assez spécial, et je ne sais pas si c'est faisable, imaginons les tables suivantes :
 

TABLE 1
 
ID  | NAME
1   | Ouane
2   | Tou
3   | Sri


 

TABLE 2
 
T1_ID | FOO | BAR | BAZ
  0   |  A  |  1  |  9
  0   |  B  |  2  |  8
  1   |  B  |  3  |  7


 
 
Je voudrais donc faire une jointure de la table 2 sur la table 1, en disant en gros que si ID de la table 1 est dans T1_ID de la table 2, alors on fait la jointure sur cette valeur, mais que si l'id n'y est pas, on fait la jointure sur "0" (qui est en fait une valeur par défaut, mais qui peut être modifiée par l'user)
 
Au final, avoir donc ce résultat :
 
 

ID | NAME  | FOO | BAR | BAZ
1  | Ouane |  A  |  1  |  9
1  | Ouane |  B  |  3  |  7
2  | Tou   |  A  |  1  |  9
2  | Tou   |  B  |  2  |  8
3  | Sri   |  A  |  1  |  9
3  | Sri   |  B  |  2  |  8


 
Bon je m'étais gouré de topic, et entre temps j'ai cherché un peu, et j'ai trouvé un exemple, mais j'ai quelques doutes, ça donnerait ça :
 

Code :
  1. INNER JOIN table_2 AS t2 ON t2.t1_id = CASE WHEN (t1.id = t2.t1_id) THEN t2.t1_id ELSE 0 END


---------------
Gamertag: CoteBlack YeLL
n°1727087
XaTriX
Posté le 30-04-2008 à 20:37:30  profilanswer
 

Où puis-je trouver un ensemble de pages (:o ) qui m'apprendra les bases de SQL ? :jap:
 
XaT


---------------
Proxytaf ? non rien
n°1727088
flo850
moi je
Posté le 30-04-2008 à 20:41:18  profilanswer
 

Dj YeLL a écrit :

J'ai un besoin de jointure assez spécial, et je ne sais pas si c'est faisable, imaginons les tables suivantes :
 

TABLE 1
 
ID  | NAME
1   | Ouane
2   | Tou
3   | Sri


 

TABLE 2
 
T1_ID | FOO | BAR | BAZ
  0   |  A  |  1  |  9
  0   |  B  |  2  |  8
  1   |  B  |  3  |  7


 
 
Je voudrais donc faire une jointure de la table 2 sur la table 1, en disant en gros que si ID de la table 1 est dans T1_ID de la table 2, alors on fait la jointure sur cette valeur, mais que si l'id n'y est pas, on fait la jointure sur "0" (qui est en fait une valeur par défaut, mais qui peut être modifiée par l'user)
 
Au final, avoir donc ce résultat :
 
 

ID | NAME  | FOO | BAR | BAZ
1  | Ouane |  A  |  1  |  9
1  | Ouane |  B  |  3  |  7
2  | Tou   |  A  |  1  |  9
2  | Tou   |  B  |  2  |  8
3  | Sri   |  A  |  1  |  9
3  | Sri   |  B  |  2  |  8


 
Bon je m'étais gouré de topic, et entre temps j'ai cherché un peu, et j'ai trouvé un exemple, mais j'ai quelques doutes, ça donnerait ça :
 

Code :
  1. INNER JOIN table_2 AS t2 ON t2.t1_id = CASE WHEN (t1.id = t2.t1_id) THEN t2.t1_id ELSE 0 END



perso ,je ferai un union d'un jointure sur le critere 1 ET d'une sur le critère deux
 
et sinon, ca te semble logique au niveau de ta structure de donnéess ?  


---------------

n°1727090
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 20:50:23  profilanswer
 

En gros c'est pour mon système de gestion des droits.

 

J'ai la table des forums, et je voudrais, lors de la récupération des forums, récupérer un des droits dans la table des droits (savoir si on a le droit d'afficher le forum ou pas).

 

Donc ça donne un peu ça :

 
Code :
  1. SELECT
  2.    f.id,
  3.    f.name
  4. FROM
  5.    forum AS f
  6. INNER JOIN
  7.    permission AS p
  8.    ON p.forum_id = f.id
  9. etc...
 

Seulement, pour la partie "ON p.forum_id = f.id", ça va pas forcément matcher, dans le cas où on a pas défini de droit spécifique à ce forum, et je voudrais que dans les cas où ça ne match pas, on fasse la jointure sur le droit par défaut (qui a donc un forum_id = 0)

 


Edit : C'est vrai qu'un UNION pourrait faire l'affaire, mais la requête complète est très longue, donc si je pouvais éviter de l'exécuter 2 fois...


Message édité par Dj YeLL le 30-04-2008 à 20:51:21

---------------
Gamertag: CoteBlack YeLL
n°1727097
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 21:43:44  profilanswer
 

'tain faut dire que MySQL m'aide pas non plus :/ J'ai pas précisé mais il s'agit d'une table temporaire, la table des droits.

 
Citation :

You cannot refer to a TEMPORARY table more than once in the same query.

 

Bon du coup je vais chercher une autre méthode.


Message édité par Dj YeLL le 30-04-2008 à 21:44:05

---------------
Gamertag: CoteBlack YeLL
n°1727115
flo850
moi je
Posté le 30-04-2008 à 22:24:16  profilanswer
 

une requete sur les droits, ca doit etre , autant que possible, rapide a executer  
 
tu n'as pas de possibilité de précalculer et de stocker ca dans une able en cache ?


---------------

n°1727118
Dj YeLL
$question = $to_be || !$to_be;
Posté le 30-04-2008 à 22:27:42  profilanswer
 

Je viens de terminer mes modifs, j'ai fais différemment. J'ai viré la jointure.
 
Donc ça récupère l'ensemble des forum, et ensuite Php affiche ou non les forums qui ont le droit de l'être ou pas.
 
Alors c'est sûr qu'au final ça récupère l'ensemble des forums pour ne pas en afficher certains, mais c'est bien plus rapide qu'avant donc mieux vaut ça (passé de 0.09s à 0.03s)


---------------
Gamertag: CoteBlack YeLL
n°1727153
xtof_83
Freeride Spirit
Posté le 01-05-2008 à 09:14:31  profilanswer
 

Shinuza a écrit :

Si tu parles de la série d'articles sur le javascript non intrusif, c'est une traduction d'une série d'articles de merde. Certains exemples de code ne fonctionnent même pas.
 
xtof_83 : Réfléchis bien à ce que tu veux faire. Si tu veux sortir un onclick de ton html pour le mettre dans un fichier javascript super hype pour externaliser soit disant ton javascript, oublie.
Je te dis ça parce que c'est beaucoup de taf pour rien le cas échéant.
 
Le but du javascript non intrusif c'est :
 

  • Proposer une dégration correcte du contenu dans le cas ou le navigateur cible n'est pas javascript
  • Découpler suffisament la présentation de la logique pour que la maintenance soit aisée (et par extension on revient au point 1)


Dans le cas ou ton but touche un des deux points, je peux te conseiller :
 

  • DOM Scripting: Web Design with JavaScript and the Document Object Model de Jeremy Keith (1590595335)
  • PPK on Javascript de Peter-Paul Koch (0321423305)


Pour la prog javascript en elle même, hormis tout ce qui se rapproche des règles de prog en général, y'a quelques "subtilités" propres au langage qui s'apprenent sur le tas (par exemple des différences au niveau vitesse d'execution entre deux méthodes), et d'autres grosses différences qui par contre font partie intégrantes de la base du langage (prototypage, mot clé this, manipulation des types etc...)


 
Oki super, le site de PPK est toujours dans mes favoris, mais son bouquin, pas encore dans ma bibliotheque.
 
Bon ce que je comprend, c'est un peu comme en css, si tu as une fois un style="truc: op" à mettre dans le code, tu vas pas mourrir.  
 
Ouais mon but à moi, c'est de faire un peu du JS plus propre et donc plus réutilisable.
Dans ma boite on fait pas des milles et des cents en JS, juste des petites fonctions par ci par là. De mon côté je dois faire attention à rester toujours 200% accessible, donc mon JS implémenté n'est là qu'optionnelement.
 
Pour les régles du langage, this, il y a pas de soucis, les types... je sais pas trop et pour les régles de prototypage je suis pas un dieu, mais je vais m'y interessé.
 
Sinon, je suis en train de m'interesser à mettre Prototype dans nos applications car je trouve que:
- C'est pas lourd, car je veux pas de toutes ces features Web 2.0
- Permet de coder plus lisiblement, plus performant
- Pleins de gens l'utilise
 
Il y a d'autre "framework" qui font comme Prototype ? juste des fonctions de bases, mais qui peuvent rendre ensuite la vie super simple pour des choses compliqué.
 
Thx

n°1727214
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 01-05-2008 à 13:03:49  profilanswer
 

Y a jQuery [:petrus75]


Message édité par Taiche le 01-05-2008 à 13:04:02

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°1727224
Dj YeLL
$question = $to_be || !$to_be;
Posté le 01-05-2008 à 13:26:32  profilanswer
 

Et Mootools


---------------
Gamertag: CoteBlack YeLL
n°1727230
flo850
moi je
Posté le 01-05-2008 à 13:34:17  profilanswer
 

et extJS , yahoo ui


Message édité par flo850 le 01-05-2008 à 13:34:26

---------------

n°1727232
masklinn
í dag viðrar vel til loftárása
Posté le 01-05-2008 à 13:36:38  profilanswer
 

Et YUI


---------------
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°1727257
Shinuza
This is unexecpected
Posté le 01-05-2008 à 14:40:38  profilanswer
 

Et mootools


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  549  550  551  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


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