Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1891 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  ..  58  59  60  ..  64  65  66  67  68  69
Auteur Sujet :

blabla@php | faq et bonnes pratiques page 1

n°2190401
skeye
Posté le 16-05-2013 à 11:55:46  profilanswer
 

Reprise du message précédent :

TheCreator a écrit :

question à la con :o
 
j'ai ceci :

Code :
  1. switch ($nom) {
  2.     case strpos($nom, 'Forever') !== false:
  3.         $logo = 'forever';break;
  4.     case strpos($nom, 'Kinna') !== false:
  5.         $logo = 'kinna';break;
  6.     case strpos($nom, 'Midinette') !== false:
  7.         $logo = 'midinette';break;
  8.     case strpos($nom, 'Rip Curl') !== false:
  9.         $logo = 'ripcurl';break;
  10.     default:
  11.         $logo = null;
  12. }


 
on est d'accord que ça n'a aucun intérêt face à une série de if+elseif+else ?


 
à part la lisibilité, effectivement.:o


---------------
Can't buy what I want because it's free -
mood
Publicité
Posté le 16-05-2013 à 11:55:46  profilanswer
 

n°2190402
TheCreator
zwiiiii and then shbrouk tak
Posté le 16-05-2013 à 11:58:19  profilanswer
 

c'est sûr que c'est plus lisible.
 
mais du coup autant faire un switch(1) non? ou bien ça devient trop dégueu? :o


---------------
La superstition c'est comme ceux qui réparent les fauteuils, il faut que le bois qu'ils rajoutent soit à peu près comme l'autre bois sinon ça se voit trop.
n°2190405
Volkhen
Posté le 16-05-2013 à 12:09:27  profilanswer
 

TheCreator a écrit :

c'est sûr que c'est plus lisible.
 
mais du coup autant faire un switch(1) non? ou bien ça devient trop dégueu? :o


Plutôt un array et un foreach.
 

Code :
  1. $logos = array('Forever' => 'forever',
  2.                'Kinna' => 'kinna',
  3.                'Midinette' => 'midinette',
  4.                'Rip Curl' => 'ripcurl');
  5. $logo = null;
  6. foreach($logos as $title => $name){
  7.   if (strpos($nom, $title) !== false) {
  8.     $logo = $name;
  9.     break;
  10.   }
  11. }


---------------
Main/Alt1/Alt2/Alt3
n°2190422
TheCreator
zwiiiii and then shbrouk tak
Posté le 16-05-2013 à 13:33:32  profilanswer
 

effectivement, j'y pense pas pour si peu de data, mais c'est clairement le plus propre :D


---------------
La superstition c'est comme ceux qui réparent les fauteuils, il faut que le bois qu'ils rajoutent soit à peu près comme l'autre bois sinon ça se voit trop.
n°2190423
TheCreator
zwiiiii and then shbrouk tak
Posté le 16-05-2013 à 13:34:07  profilanswer
 

ceci dit, le break c'est un oubli? :D

 

edit: ah non rien :o


Message édité par TheCreator le 16-05-2013 à 13:34:44

---------------
La superstition c'est comme ceux qui réparent les fauteuils, il faut que le bois qu'ils rajoutent soit à peu près comme l'autre bois sinon ça se voit trop.
n°2190549
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 17-05-2013 à 01:25:20  profilanswer
 

TheCreator a écrit :

question à la con :o

 

j'ai ceci :

Code :
  1. switch ($nom) {
  2. case strpos($nom, 'Forever') !== false:
  3. $logo = 'forever';break;
  4. case strpos($nom, 'Kinna') !== false:
  5. $logo = 'kinna';break;
  6. case strpos($nom, 'Midinette') !== false:
  7. $logo = 'midinette';break;
  8. case strpos($nom, 'Rip Curl') !== false:
  9. $logo = 'ripcurl';break;
  10. default:
  11. $logo = null;
  12. }
 

on est d'accord que ça n'a aucun intérêt face à une série de if+elseif+else ?

 

Tu peux pas stocker les nom dans un tableau et utiliser un if + in_array () et si ça match, faire un strtolower et virer l'espace ? Je suis sur mobile mais si t'es patient,  je code ça demain matin :o


---------------
:o
n°2190870
brisssou
8-/
Posté le 19-05-2013 à 19:44:35  profilanswer
 

ça existe pas les maps en php?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°2190875
masklinn
í dag viðrar vel til loftárása
Posté le 19-05-2013 à 20:59:03  profilanswer
 

brisssou a écrit :

ça existe pas les maps en php?


array?


Message édité par masklinn le 19-05-2013 à 20:59:57

---------------
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°2190895
Volkhen
Posté le 20-05-2013 à 06:13:34  profilanswer
 

brisssou a écrit :

ça existe pas les maps en php?


http://php.net/manual/en/language.types.array.php

Citation :

An array in PHP is actually an ordered map.


---------------
Main/Alt1/Alt2/Alt3
n°2190925
brisssou
8-/
Posté le 20-05-2013 à 12:06:16  profilanswer
 

ben du coup c'est pas une solution pour la question de TheCreator ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
mood
Publicité
Posté le 20-05-2013 à 12:06:16  profilanswer
 

n°2190928
Volkhen
Posté le 20-05-2013 à 12:09:18  profilanswer
 

brisssou a écrit :

ben du coup c'est pas une solution pour la question de TheCreator ?


Je me trompe peut être sur ce que tu comptes faire avec une map, mais a priori c'est la solution que je lui proposais là : http://forum.hardware.fr/hfr/Progr [...] m#t2190405


---------------
Main/Alt1/Alt2/Alt3
n°2190929
brisssou
8-/
Posté le 20-05-2013 à 12:16:15  profilanswer
 

ah ben oui voilà. Je retourne me coucher :o

 

bon lundi !

 

edit: sauf que pourquoi un foreach?
pseudo code :o

Code :
  1. $logos = array('Forever' => 'forever',
  2.               'Kinna' => 'kinna',
  3.               'Midinette' => 'midinette',
  4.               'Rip Curl' => 'ripcurl');
  5. $logo = null;
  6. if ($nom in $logos) {
  7. $logo = $logos[$nom];
  8. }

Message cité 1 fois
Message édité par brisssou le 20-05-2013 à 12:18:41

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°2190930
masklinn
í dag viðrar vel til loftárása
Posté le 20-05-2013 à 12:24:30  profilanswer
 

brisssou a écrit :

ah ben oui voilà. Je retourne me coucher :o
 
bon lundi !
 
edit: sauf que pourquoi un foreach?
pseudo code :o

Code :
  1. $logos = array('Forever' => 'forever',
  2.               'Kinna' => 'kinna',
  3.               'Midinette' => 'midinette',
  4.               'Rip Curl' => 'ripcurl');
  5. $logo = null;
  6. if ($nom in $logos) {
  7. $logo = $logos[$nom];
  8. }



Parce-que s'il utilisait strpos au lieu de == tout le monde s'est dit (et faut espérer) qu'il avait besoin d'une recherche par substring et non d'une correspondance exacte [:petrus75]


---------------
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°2190993
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 20-05-2013 à 20:16:38  profilanswer
 

Code :
  1. $logo = null;
  2. $array = array('Forever', 'Kinna', 'Midinette', 'Rip Curl');
  3. preg_match('#('.join('|', $array).')#i', $nom, $matches);
  4. if (isset ($matches[1])) {
  5.   $logo = ...
  6. }
 

Rien testé,  je suis sur l'application android :D


---------------
:o
n°2190995
brisssou
8-/
Posté le 20-05-2013 à 20:31:42  profilanswer
 

 
Citation :

J'avais un problème, je me suis dit, tiens, si j'utilisais une regex !

 

Maintenant, j'ai deux problèmes

 

[:petrus75]

Message cité 1 fois
Message édité par brisssou le 20-05-2013 à 20:31:56

---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°2191009
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 20-05-2013 à 23:52:45  profilanswer
 

si les blogs partagent la même base de données, alors un post est attaché a un blog_id et un auteur_id. À partir de là on peut savoir si une personne est propriétaire de tel ou tel post et également que tel post appartient a tel ou tel blog.

 

Il me semble que c'est "l'architecture" du fonctionnement du Woprdpress multisite..


Message édité par Ydalb le 20-05-2013 à 23:53:23

---------------
:o
n°2191012
Alekusu2
Posté le 21-05-2013 à 00:26:47  profilanswer
 

Question très con sur SQL/PHP (pas trouvé de topic dédié) :
 
J'ai une table de liaison pour me permettre de lier 2 pages. donc j'ai une colonne page1 et une colonne page2.  
 
Quand je veux afficher pour une page Y ses liaisons, je fais une requête de ce genre :  
 

Code :
  1. "SELECT * FROM liaisons WHERE liaisons_page1 ='ID' OR liaisons_page2 ='ID'"


 
Je suis obligé de faire ça vu que l'ID de la page Y peut être dans la première colonne ou la seconde.  
 
mon souci maintenant c'est de compléter ma requete par un LEFT JOIN pour avoir les informations sur les pages liées.  
 
Sauf que ma requête avec LEFT JOIN, peut soit se baser sur le fait d'aller chercher les infos de la page de la colonne 1 ou celle de la colonne 2, vu que je ne sais pas dans laquelle est mon ID et dans laquelle est celle de la page liée. Donc il faudrait que je puisse dans ma requete SQL (et pas après), mettre une condition pour dire en gros :
 

Code :
  1. "SELECT * FROM liaisons LEFT JOIN pages ON pages.pages_id=liaisons.liaisons_page(CELLE QUI EST DIFFERENTE DE MON ID) WHERE liaisons_page1 ='ID' OR liaisons_page2 ='ID'"


 
Vous visualisez ma problématique ?  
Je n'ai pas trop compris/trouvé comment en SQL on pouvait mettre ce genre de conditions, si vous pouviez m'éclairer :D
 
Merkiiii


Message édité par Alekusu2 le 21-05-2013 à 00:28:36

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2191013
Ydalb
In Crêpes n' Cidre I Trust!
Posté le 21-05-2013 à 00:35:04  profilanswer
 

Tu aurais un schéma de tes tables ? Là je bite que dale à ton problème :D


---------------
:o
n°2191017
Alekusu2
Posté le 21-05-2013 à 00:53:16  profilanswer
 


 
T'es le seul à les comprendre mes questions :o  
 
"Conditional join" c'est ça que j'aurais du taper dans google :o
 
Merki beaucoup !  [:vapeur_cochonne]  
Amour sur toi !  [:cerveau discobeck]
 
 
Edit : Ah oui mais en fait le premier post c'était trop beau pour être vrai, c'était le problème du mec, la solution semble donc être un UNION... Bof :( j'aurais rêvé que le contenu du premier post puisse marcher :(


Message édité par Alekusu2 le 21-05-2013 à 00:56:44

---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2191039
ratibus
Posté le 21-05-2013 à 08:00:44  profilanswer
 

2 LEFT JOIN

 

Sinon revois les données de ta table d'association pour que les liens dans les 2 sens soient insérés. Ce sera + simple pour la lecture.

n°2191044
skeye
Posté le 21-05-2013 à 08:43:19  profilanswer
 

C'est pourtant pas compliqué...

 
Code :
  1. SELECT * FROM liaisons
  2. LEFT JOIN pages ON (liaisons.liaisons_page1 ='ID' AND liaisons_page2=pages.pages_id) OR (liaisons_page2 ='ID' AND liaisons_page1 = pages.pages_id)
 

Ou alors j'ai pas compris la question?[:autobot]

Message cité 2 fois
Message édité par skeye le 21-05-2013 à 08:44:13

---------------
Can't buy what I want because it's free -
n°2191049
TheCreator
zwiiiii and then shbrouk tak
Posté le 21-05-2013 à 09:11:12  profilanswer
 

brisssou a écrit :


 

Citation :

J'avais un problème, je me suis dit, tiens, si j'utilisais une regex !
 
Maintenant, j'ai deux problèmes


 
[:petrus75]


 
 [:rofl]


---------------
La superstition c'est comme ceux qui réparent les fauteuils, il faut que le bois qu'ils rajoutent soit à peu près comme l'autre bois sinon ça se voit trop.
n°2191055
Alekusu2
Posté le 21-05-2013 à 09:36:27  profilanswer
 

skeye a écrit :

C'est pourtant pas compliqué...
 

Code :
  1. SELECT * FROM liaisons
  2. LEFT JOIN pages ON (liaisons.liaisons_page1 ='ID' AND liaisons_page2=pages.pages_id) OR (liaisons_page2 ='ID' AND liaisons_page1 = pages.pages_id)


 
Ou alors j'ai pas compris la question?[:autobot]


 
J'ai essayé ta méthode en me disant que ce serait trop bien que ça marche, mais ça marchait pas, ça me ressortait l'ensemble de la table [:tinostar]
 
Du coup j'ai utilisé la méthode UNION
 

Code :
  1. SELECT *
  2. FROM liaisons
  3. LEFT JOIN pages ON liaisons.liaisons_page2 = pages.pages_id
  4. WHERE liaisons.liaisons_page1 =  '44'
  5. UNION
  6. SELECT *
  7. FROM liaisons
  8. LEFT JOIN pages ON liaisons.liaisons_page1 = pages.pages_id
  9. WHERE liaisons.liaisons_page2 =  '44'


 
Qui marchent même si je suis pas fan, j'aurais préféré la méthode de Skeye :/


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2191079
Alekusu2
Posté le 21-05-2013 à 10:59:24  profilanswer
 


 
Je viens de tester ça change rien :/


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2191089
skeye
Posté le 21-05-2013 à 11:56:49  profilanswer
 

 

Normalement pas d'ambiguité, mais ça dépend peut-être du sgbd...

 
Alekusu2 a écrit :

 

Je viens de tester ça change rien :/

 

faut que je teste...pas normal cette histoire, ça devrait marcher.:o


Message édité par skeye le 21-05-2013 à 11:57:07

---------------
Can't buy what I want because it's free -
n°2191096
skeye
Posté le 21-05-2013 à 12:34:19  profilanswer
 

Je viens de relire la question de base. C'est une jointure simple, le left join a rien à foutre là. Ou alors j'ai encore raté un truc:D

 
Code :
  1. SELECT *
  2. FROM liaisons
  3.    JOIN pages ON (liaisons.liaisons_page1 ='ID' AND liaisons_page2=pages.pages_id) OR (liaisons_page2 ='ID' AND liaisons_page1 = pages.pages_id)

Message cité 1 fois
Message édité par skeye le 21-05-2013 à 12:35:33

---------------
Can't buy what I want because it's free -
n°2191102
Alekusu2
Posté le 21-05-2013 à 13:53:57  profilanswer
 

skeye a écrit :

Je viens de relire la question de base. C'est une jointure simple, le left join a rien à foutre là. Ou alors j'ai encore raté un truc:D
 

Code :
  1. SELECT *
  2. FROM liaisons
  3.    JOIN pages ON (liaisons.liaisons_page1 ='ID' AND liaisons_page2=pages.pages_id) OR (liaisons_page2 ='ID' AND liaisons_page1 = pages.pages_id)



 
Putain j'ai cette manie de foutre des left join partout au lieu de join  [:mister yoda]  
 
Merci skeye :jap:


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2191186
zoukoufxxx
La bogossitude made in HFR
Posté le 21-05-2013 à 19:01:59  profilanswer
 

Bonjour, bonjour, [:cerveau dawa]

 

Je tiens tout d'abord à avouer que je suis une brêle en PHP, donc ne m'en voulez pas trop. [:cerveau zeusy]

 

J'ai cette ligne de code qui me pose problème :

Code :
  1. <?php if( $selected == $plxPlugin->lang('L_FORM_BUDGET_CHOICE0') ) echo "OK" ?>
 

Lorsque la condition est remplie (ou pas d'ailleurs), cela n'affiche pas "OK", mais toujours la valeur de "$plxPlugin->lang('L_FORM_BUDGET_CHOICE0')". Je ne comprends pas. [:sumo]


Message édité par zoukoufxxx le 21-05-2013 à 19:02:47

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
n°2191190
zoukoufxxx
La bogossitude made in HFR
Posté le 21-05-2013 à 19:16:51  profilanswer
 

Oui. :jap:
Ca affiche sa valeur.


Message édité par zoukoufxxx le 21-05-2013 à 19:17:14

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
n°2191199
zoukoufxxx
La bogossitude made in HFR
Posté le 21-05-2013 à 20:17:44  profilanswer
 

\o/ Merci de m'avoir fait m'attarder sur la fonction lang. J'ai cherché un peu et en utilisant $plxPlugin->GetLang('L_FORM_BUDGET_CHOICE0');, ça fonctionne (pas d'echo !).
 
Encore merci ! [:gula]


Message édité par zoukoufxxx le 21-05-2013 à 20:18:22

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
n°2191209
Alekusu2
Posté le 21-05-2013 à 21:13:34  profilanswer
 

J'ai la mauvaise manie d'utiliser toujours des "SELECT *" et donc de ne pas spécifier les colonnes que je veux.  
 
Je voudrais savoir en terme de perf, pour des tables de 10/20 colonnes, à partir de combien de row affichés, on peut sentir une différence entre un Select all et un Select précis ?


---------------
Ils ne sont grands que parce que nous sommes à genoux. - Topic Kingdom
n°2191211
masklinn
í dag viðrar vel til loftárása
Posté le 21-05-2013 à 21:19:18  profilanswer
 

Alekusu2 a écrit :

J'ai la mauvaise manie d'utiliser toujours des "SELECT *" et donc de ne pas spécifier les colonnes que je veux.

 

Je voudrais savoir en terme de perf, pour des tables de 10/20 colonnes, à partir de combien de row affichés, on peut sentir une différence entre un Select all et un Select précis ?


Ça dépend de ton "select précis" (si tu sélectionnes tous les champs...), et de la liaison entre application et BDD (socket unix, localhost, réseau local, internet, IPoAC). Ah et probablement de la db, de la table, de l'utilisation ou non d'index (index-only scan[0]), etc...

 

[0] MSSQL sait même ajouter des colonnes non-indexées à un index, pour pouvoir faire de l'index-only scan avec des colonnes qui font pas partie de l'index.


Message édité par masklinn le 21-05-2013 à 21:21:24

---------------
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?
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  58  59  60  ..  64  65  66  67  68  69

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)