Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 01/07/2004, 22h15   #61
erzebet
Invité régulier
 
Inscription : juillet 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 7
Points : 7
Points : 7
Merci beaucoup de vos réponses.
En gros d'après ce que vous me dites, quelles que soient les solutions que je choisis pour ces différents problèmes, les écarts d'efficacité ne seront pas significatifs donc, même si apparemment il vaut mieux en gros faire le moins d'include possible mais que c'est pas si grave que ça, après c'est une question de confort de lisibilité, c'est bien ça ?
erzebet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 03h27   #62
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
lisibilité et réutilisation
Si tu as 2 algos quasi identiques (juste un chiffre qui change ou un truc dans le style), tu fais une fonction avec un paramètre.
Le jour où tu change ton algo, tu le fais qu'à un seul endroit.
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 09h38   #63
m@
Membre confirmé
 
Avatar de m@
 
Inscription : janvier 2004
Messages : 143
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 143
Points : 244
Points : 244
Envoyer un message via MSN à m@
pour moi le seul moment où la lisibilité doit être sacrifiée pour la puissance, c'est que ton serveur est à genoux où que tu as du code qu'il est vraiment capital d'exécuter à toute vitesse, ce qui est plutôt rare en PHP...
__________________
Si vous fermez la porte à toutes les erreurs, la vérité restera dehors. (Tagore)

Mandrake 10.1 up to date
OpenBSD 3.5
Win XP SP 2
m@ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 10h58   #64
erzebet
Invité régulier
 
Inscription : juillet 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 7
Points : 7
Points : 7
Ah oui quand même )
Je pensais que la lisibilité devait être sacrifiée plus que ça au profit de la puissance moi. Bon ben c'est bien tout ça.
j'ai une autre colle : quelle expression est-elle plus rapide :

Code :
1
2
3
4
5
6
if($toto==0)
{
    if($tata==0)
    else
}
else
OU

Code :
1
2
3
if($toto==0 && tata==0)
else if($toto==0 && tata!=0)
else
Merci d'avance.
erzebet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 11h03   #65
m@
Membre confirmé
 
Avatar de m@
 
Inscription : janvier 2004
Messages : 143
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 143
Points : 244
Points : 244
Envoyer un message via MSN à m@
la première, mais là encore ce n'est qu'une histoire d'une ou deux instructions.
__________________
Si vous fermez la porte à toutes les erreurs, la vérité restera dehors. (Tagore)

Mandrake 10.1 up to date
OpenBSD 3.5
Win XP SP 2
m@ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 11h25   #66
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
Citation:
Envoyé par m@
la première, mais là encore ce n'est qu'une histoire d'une ou deux instructions.
m@ > pour faire comprendre, ça serait bien de justifier

C'est la première car il ne teste qu'une fois si $toto == 0, et qu'un test sur $tata.

Dans la 2e, il teste une fois $toto et $tata, puis une autre fois $toto et $tata.
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 11h32   #67
m@
Membre confirmé
 
Avatar de m@
 
Inscription : janvier 2004
Messages : 143
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 143
Points : 244
Points : 244
Envoyer un message via MSN à m@
iubito >> c'est promis je le referai plus...

il y a 3 cas de figure (le test après && n'est pas effectué si le premier est faux)

si toto = 0 et tata = 0
1 : test toto, test tata, code
2 : test toto, test tata, code (ici on gagne même une instrruction (JMP))

si toto = 0 et tata != 0
1 : test toto, test tata, code
2 : test toto, test tata, test toto, test tata, code

si toto != 0
1 : test toto, code
2 : test toto, test toto, code

1 est donc mieux ou quasiment équivalent dans tous les cas de figure
__________________
Si vous fermez la porte à toutes les erreurs, la vérité restera dehors. (Tagore)

Mandrake 10.1 up to date
OpenBSD 3.5
Win XP SP 2
m@ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 16h21   #68
erzebet
Invité régulier
 
Inscription : juillet 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 7
Points : 7
Points : 7
Merci encore, pour vous récompenser j'en ai une autre :
Est-ce qu'il vaut mieux écrire :

Code :
1
2
$bebete='toto'.$tata.'tutu';
$GLOBALS[$bebete]
OU

Code :
$GLOBALS['toto'.$tata.'tutu']
dans le cas ou la $GLOBALS en question est appelée plusieurs fois ? Autrement est-ce que la concaténation prend plus de temps à être exécutée que de rajouter une variable ? C'est quoi le mieux ?
Merci d'avance encore.
A+
erzebet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 18h18   #69
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
le mieux c de créer une variable je pense.
1) ça fait une seule fois la concaténation (elle paraît simple comme ça, mais c tout de même une opération sur une chaine de caractères)
2) ça évite les erreurs.

Et quand t'as plus besoin de ta bébête, tu fais un Le unset c'est pour supprimer une variable (= récupérer la mémoire). Sur une chaine ou un entier, c'est rien, mais prendre l'habitude de le faire quand on utilise une variable temporaire c'est bien, car on y pense quand les variables temporaires sont plus grosses (objet, tableau...).
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 20h08   #70
Hyoga kun
Invité de passage
 
Inscription : janvier 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 6
Points : 2
Points : 2
salut,

le mysql_close(); à la fin de son code mysql est il vraiment nécessaire ?
Hyoga kun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/07/2004, 21h34   #71
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
Citation:
Envoyé par Darkblast
salut,

le mysql_close(); à la fin de son code mysql est il vraiment nécessaire ?
normalement non, php ferme tout seul, mais je préfère fermer mysql juste après ma dernière utilisation. Comme ça si y'a du traitement PHP un peu long après la dernière utilisation de MySQL, il ne bloque pas une connexion à la base de données.

Pour libérer de la mémoire, il faut bien utiliser des mysql_free_results ou dans le genre.
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2004, 18h01   #72
erzebet
Invité régulier
 
Inscription : juillet 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 7
Points : 7
Points : 7
mais par contre ce n'est pas valable pour les conections persistantes, si ? (pas taper, erzebet n'a peut-être rien compris ).
erzebet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2004, 18h28   #73
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
c pas un truc mysql_pclose pour une connexion persistante.

Mais bon, recherche sur le forum, y'a eu des débat connexion persistante ou non. Perso je suis contre, à moins d'avoir comme en java la possibilité d'avoir un spool de connexion toujours instancié et que n'importe quelle classe fait appel, mais en php j'pens epas que c possible.
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2004, 20h01   #74
erzebet
Invité régulier
 
Inscription : juillet 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 7
Points : 7
Points : 7
oui alors euh oui moi j'ai pas tout compris là
En fait j'utilise des connexions persistantes uniquement pour un truc que je développe actuellement et qui n'est utilisable que sur un serveur local : ca me permet de controler le nombre d'utilisateurs connectés à la base et donc au programme.
Sinon je ne les utilise jamais mais je pourrais pas dire que c'est pour les mêmes raisons que toi parce que j'ai pas compris mais j'irai voir sur le forum pour comprendre. Merci en tous cas.
Et donc la fonction dont tu parles en fait, elle fait le même effet que la fin de d'un script php, comme pour une connexion normale ?
erzebet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2004, 21h09   #75
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
Citation:
Envoyé par erzebet
oui alors euh oui moi j'ai pas tout compris là
En fait j'utilise des connexions persistantes uniquement pour un truc que je développe actuellement et qui n'est utilisable que sur un serveur local : ca me permet de controler le nombre d'utilisateurs connectés à la base et donc au programme.
Sinon je ne les utilise jamais mais je pourrais pas dire que c'est pour les mêmes raisons que toi parce que j'ai pas compris mais j'irai voir sur le forum pour comprendre. Merci en tous cas.
Et donc la fonction dont tu parles en fait, elle fait le même effet que la fin de d'un script php, comme pour une connexion normale ?
pour la fonction... le réflexe doc PHP (ça aussi c'est de l'optimisation, ça évite de poser une question ) http://fr.php.net/NOM_DE_LA_FONCTION
http://fr.php.net/mysql
http://fr.php.net/mysql_pclose

et là tu verras si y'a quelque chose (j'ai pas testé les URL).
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2004, 12h35   #76
erzebet
Invité régulier
 
Inscription : juillet 2004
Messages : 7
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 7
Points : 7
Points : 7
tout a fait, d'ailleurs pclose n'existe pas
je verrai pour ça c'est pas urgent façon.

J'ai une autre question : est-il plus long d'utiliser $GLOBALS['toto'] que $toto ?
Merci d'avance.
erzebet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2004, 16h06   #77
cedricgirard
Membre confirmé
 
Homme Cédric Girard
Développeur Web
Inscription : mai 2002
Messages : 297
Détails du profil
Informations personnelles :
Nom : Homme Cédric Girard
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Santé

Informations forums :
Inscription : mai 2002
Messages : 297
Points : 286
Points : 286
Citation:
Envoyé par erzebet
tout a fait, d'ailleurs pclose n'existe pas
je verrai pour ça c'est pas urgent façon.

J'ai une autre question : est-il plus long d'utiliser $GLOBALS['toto'] que $toto ?
Merci d'avance.
Et pourquoi tu ne demanderais pas au systeme?
Aller un coup de main : pour récupérer l'heure courante
http://fr3.php.net/manual/fr/function.microtime.php
Tu recupere avant, tu execute un script 1000 fois dans une boucle, et tu recupere apres, tu soustrais.
Même chose avec l'autre script, et tu regarde le plus rapide. A faire bien sur plusieurs fois, chez toi et en n'ayant rien qui tourne qui pourrait fausser le test.
cedricgirard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/07/2004, 08h37   #78
iubito
Membre éclairé
 
Avatar de iubito
 
Homme Sylvain Machefert
Développeur Java
Inscription : janvier 2003
Messages : 380
Détails du profil
Informations personnelles :
Nom : Homme Sylvain Machefert
Âge : 30
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : Finance

Informations forums :
Inscription : janvier 2003
Messages : 380
Points : 321
Points : 321
fait des tests comme sur mon bench, tu peux t'inspirer du code, même si il est un peu fouilli.
Quand tu auras un test, balance-le code et je le mettrai dans le bench.
__________________
Lé SMS cé kom lé ognon, sa pike lé yeu
iubito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2004, 14h41   #79
Linie
Invité régulier
 
Inscription : juin 2004
Messages : 6
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 6
Points : 7
Points : 7
Bon ben moi j'arrive comme un ch'veux sur la soupe avec pas mal de journée de retard mais j'ai une question :

Pourquoi vous n'utilisai que des echo et jamais des print?

Ca peut paraitre stupide mais si echo et plus performent que le print je prefeere tous changer maintenant plutot que tout a la fin de mon projet.
Linie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2004, 15h03   #80
Swoög
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 050
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : janvier 2003
Messages : 6 050
Points : 8 221
Points : 8 221
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
en fait, je pense que c'est principalement pour des questions de lisibilités et de possibilités :

http://fr.php.net/print
http://fr.php.net/echo

comme tu peux le voir, echo offre plus de possibilitées au niveau de la sythaxe, notamment, se débarasser des parenthèses, here doc, [etc...]
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h11.


 
 
 
 
Partenaires

Hébergement Web