Mais le résultat est très décevant : c'est à peine plus rapide...
Lol.
Vers quelle piste pourriez-vous m'orienter afin d'améliorer les performances ?
NB : je suppose que c'est pour afficher dans une page web...
1/ arrêter les conneries avec les tableaux dans lesquels on copie les ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête. Fais ta requête et affiche directement le résultat, ça ira plus vite...
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin d'afficher 2000 articles ou plus sur une même page. Il est parfaitement possible de récupérer les enregistrements par paquets de 100 (AMHA largement suffisant pour une seule page).
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
- = Cyriloch = - wrote:
Bonsoir,
Je récupère les données d'une table d'articles de la façon suivante :
$RequeteSelection = "SELECT ArticleReference, ArticleDesignation,
PrixVente, TypeTVA FROM Articles";
$ResultatSelection = mysql_query($RequeteSelection) or die ('Requête
impossible (Requête Articles)');
$NbEnr = mysql_num_rows($ResultatSelection);
while ($_DONNEES = mysql_fetch_array($ResultatSelection))
{
array_push($ArticleReference, $_DONNEES['ArticleReference']);
array_push($ArticleDesignation, $_DONNEES['ArticleDesignation']);
array_push($PrixVente, $_DONNEES['PrixVente']);
array_push($TypeTVA, $_DONNEES['TypeTVA']);
}
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat
de la réqête, pourquoi tu veux les mettre dans un tableau ???
Or lorsqu'on dépasse 2000 articles, cela devient assez lourd... J'ai cru
trouvé une solution en passant par un fichier txt :
Mais le résultat est très décevant : c'est à peine plus rapide...
Lol.
Vers quelle piste pourriez-vous m'orienter afin d'améliorer les
performances ?
NB : je suppose que c'est pour afficher dans une page web...
1/ arrêter les conneries avec les tableaux dans lesquels on copie les
ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête.
Fais ta requête et affiche directement le résultat, ça ira plus vite...
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin
d'afficher 2000 articles ou plus sur une même page. Il est parfaitement
possible de récupérer les enregistrements par paquets de 100 (AMHA
largement suffisant pour une seule page).
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Mais le résultat est très décevant : c'est à peine plus rapide...
Lol.
Vers quelle piste pourriez-vous m'orienter afin d'améliorer les performances ?
NB : je suppose que c'est pour afficher dans une page web...
1/ arrêter les conneries avec les tableaux dans lesquels on copie les ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête. Fais ta requête et affiche directement le résultat, ça ira plus vite...
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin d'afficher 2000 articles ou plus sur une même page. Il est parfaitement possible de récupérer les enregistrements par paquets de 100 (AMHA largement suffisant pour une seule page).
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
- = Cyriloch = -
Merci pour la réponse.
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat de la réqête, pourquoi tu veux les mettre dans un tableau ??
1/ arrêter les conneries avec les tableaux dans lesquels on copie les ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête. Fais ta requête et affiche directement le résultat, ça ira plus vite...
En fait, j'utilise les données de la requête pour les afficher un menu déroulant (choix d'un article pour créer un ticket de caisse) et ce même menu déroulant est utilisé plusieurs fois dans le formulaire (selon un choix de l'utilisateur et 5 fois par défaut). Il m'a semblé qu'il était plus rapide de stocker les résultat dans un tableau que de répéter la requête x fois : me trompè-je ?
(D'autre part c'est assez pratique car je stocke la requête dans un fichier indépendant que j'appelle par un include lorsque j'en ai besoin).
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin d'afficher 2000 articles ou plus sur une même page. Il est parfaitement possible de récupérer les enregistrements par paquets de 100 (AMHA largement suffisant pour une seule page).
Malheureusement si, car l'utilisateur doit pouvoir choisir parmi l'ensemble des articles.
Bref, j'en viens à me demander si je ne dois pas tout reprendre dans une autre direction...
Cordialement,
Cyriloch
Merci pour la réponse.
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat
de la réqête, pourquoi tu veux les mettre dans un tableau ??
1/ arrêter les conneries avec les tableaux dans lesquels on copie les
ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête.
Fais ta requête et affiche directement le résultat, ça ira plus vite...
En fait, j'utilise les données de la requête pour les afficher un menu
déroulant (choix d'un article pour créer un ticket de caisse) et ce même
menu déroulant est utilisé plusieurs fois dans le formulaire (selon un
choix de l'utilisateur et 5 fois par défaut). Il m'a semblé qu'il était
plus rapide de stocker les résultat dans un tableau que de répéter la
requête x fois : me trompè-je ?
(D'autre part c'est assez pratique car je stocke la requête dans un
fichier indépendant que j'appelle par un include lorsque j'en ai besoin).
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin
d'afficher 2000 articles ou plus sur une même page. Il est parfaitement
possible de récupérer les enregistrements par paquets de 100 (AMHA
largement suffisant pour une seule page).
Malheureusement si, car l'utilisateur doit pouvoir choisir parmi
l'ensemble des articles.
Bref, j'en viens à me demander si je ne dois pas tout reprendre dans une
autre direction...
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat de la réqête, pourquoi tu veux les mettre dans un tableau ??
1/ arrêter les conneries avec les tableaux dans lesquels on copie les ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête. Fais ta requête et affiche directement le résultat, ça ira plus vite...
En fait, j'utilise les données de la requête pour les afficher un menu déroulant (choix d'un article pour créer un ticket de caisse) et ce même menu déroulant est utilisé plusieurs fois dans le formulaire (selon un choix de l'utilisateur et 5 fois par défaut). Il m'a semblé qu'il était plus rapide de stocker les résultat dans un tableau que de répéter la requête x fois : me trompè-je ?
(D'autre part c'est assez pratique car je stocke la requête dans un fichier indépendant que j'appelle par un include lorsque j'en ai besoin).
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin d'afficher 2000 articles ou plus sur une même page. Il est parfaitement possible de récupérer les enregistrements par paquets de 100 (AMHA largement suffisant pour une seule page).
Malheureusement si, car l'utilisateur doit pouvoir choisir parmi l'ensemble des articles.
Bref, j'en viens à me demander si je ne dois pas tout reprendre dans une autre direction...
Cordialement,
Cyriloch
bruno at modulix
- = Cyriloch = - wrote:
Merci pour la réponse.
De rien.
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat de la réqête, pourquoi tu veux les mettre dans un tableau ??
1/ arrêter les conneries avec les tableaux dans lesquels on copie les ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête. Fais ta requête et affiche directement le résultat, ça ira plus vite...
En fait, j'utilise les données de la requête pour les afficher un menu déroulant (choix d'un article pour créer un ticket de caisse)
Un menu déroulant de 2000 entrées ??? Ca doit être bien point de vue ergonomie !-)
Solution -> utilise un popup affichant une liste paginée permettant la sélection.
et ce même menu déroulant est utilisé plusieurs fois dans le formulaire (selon un choix de l'utilisateur et 5 fois par défaut). Il m'a semblé qu'il était plus rapide de stocker les résultat dans un tableau que de répéter la requête x fois : me trompè-je ?
Théoriquement (en supposant une mémoire illimitée), non. Dans la pratique, monter un (trop) gros volume de données en mémoire est un antipattern connu.
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin d'afficher 2000 articles ou plus sur une même page. Il est parfaitement possible de récupérer les enregistrements par paquets de 100 (AMHA largement suffisant pour une seule page).
Malheureusement si, car l'utilisateur doit pouvoir choisir parmi l'ensemble des articles.
Affiche la liste paginée dans une fenêtre popup.
Bref, j'en viens à me demander si je ne dois pas tout reprendre dans une autre direction...
Comme par exemple (et au hasard) affichee la liste paginée dans une fenêtre popup ?-)
NB : Une autre solution est la gestion d'un 'panier'.... L'utilisateur choisis d'abord le/les articles (dans une liste paginée par exemple), ce choix étant stocké (en session, dans une table temporaire, etc, voir les solutions habituelles pour la gestion d'un panier). Quand son choix est terminé, il déclenche la suite des opérations...
Mes deux centimes (et demi) -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
- = Cyriloch = - wrote:
Merci pour la réponse.
De rien.
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat
de la réqête, pourquoi tu veux les mettre dans un tableau ??
1/ arrêter les conneries avec les tableaux dans lesquels on copie les
ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête.
Fais ta requête et affiche directement le résultat, ça ira plus vite...
En fait, j'utilise les données de la requête pour les afficher un menu
déroulant (choix d'un article pour créer un ticket de caisse)
Un menu déroulant de 2000 entrées ??? Ca doit être bien point de vue
ergonomie !-)
Solution -> utilise un popup affichant une liste paginée permettant la
sélection.
et ce même
menu déroulant est utilisé plusieurs fois dans le formulaire (selon un
choix de l'utilisateur et 5 fois par défaut). Il m'a semblé qu'il était
plus rapide de stocker les résultat dans un tableau que de répéter la
requête x fois : me trompè-je ?
Théoriquement (en supposant une mémoire illimitée), non. Dans la
pratique, monter un (trop) gros volume de données en mémoire est un
antipattern connu.
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin
d'afficher 2000 articles ou plus sur une même page. Il est parfaitement
possible de récupérer les enregistrements par paquets de 100 (AMHA
largement suffisant pour une seule page).
Malheureusement si, car l'utilisateur doit pouvoir choisir parmi
l'ensemble des articles.
Affiche la liste paginée dans une fenêtre popup.
Bref, j'en viens à me demander si je ne dois pas tout reprendre dans une
autre direction...
Comme par exemple (et au hasard) affichee la liste paginée dans une
fenêtre popup ?-)
NB : Une autre solution est la gestion d'un 'panier'.... L'utilisateur
choisis d'abord le/les articles (dans une liste paginée par exemple), ce
choix étant stocké (en session, dans une table temporaire, etc, voir les
solutions habituelles pour la gestion d'un panier). Quand son choix est
terminé, il déclenche la suite des opérations...
Mes deux centimes (et demi)
--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'onurb@xiludom.gro'.split('@')])"
Ya un truc qui m'échappe, là... Tu a tes données dispo dans le résultat de la réqête, pourquoi tu veux les mettre dans un tableau ??
1/ arrêter les conneries avec les tableaux dans lesquels on copie les ligne du fichier CSV qu'on a créé à partir du résultat d'une reqête. Fais ta requête et affiche directement le résultat, ça ira plus vite...
En fait, j'utilise les données de la requête pour les afficher un menu déroulant (choix d'un article pour créer un ticket de caisse)
Un menu déroulant de 2000 entrées ??? Ca doit être bien point de vue ergonomie !-)
Solution -> utilise un popup affichant une liste paginée permettant la sélection.
et ce même menu déroulant est utilisé plusieurs fois dans le formulaire (selon un choix de l'utilisateur et 5 fois par défaut). Il m'a semblé qu'il était plus rapide de stocker les résultat dans un tableau que de répéter la requête x fois : me trompè-je ?
Théoriquement (en supposant une mémoire illimitée), non. Dans la pratique, monter un (trop) gros volume de données en mémoire est un antipattern connu.
2/ paginer tes résultats. Je doute franchement que tu ai vraiment besoin d'afficher 2000 articles ou plus sur une même page. Il est parfaitement possible de récupérer les enregistrements par paquets de 100 (AMHA largement suffisant pour une seule page).
Malheureusement si, car l'utilisateur doit pouvoir choisir parmi l'ensemble des articles.
Affiche la liste paginée dans une fenêtre popup.
Bref, j'en viens à me demander si je ne dois pas tout reprendre dans une autre direction...
Comme par exemple (et au hasard) affichee la liste paginée dans une fenêtre popup ?-)
NB : Une autre solution est la gestion d'un 'panier'.... L'utilisateur choisis d'abord le/les articles (dans une liste paginée par exemple), ce choix étant stocké (en session, dans une table temporaire, etc, voir les solutions habituelles pour la gestion d'un panier). Quand son choix est terminé, il déclenche la suite des opérations...
Mes deux centimes (et demi) -- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
- = Cyriloch = -
Je te trouve un peu désagréable mais je te remercie beaucoup pour ces explications ! Je m'en vais sans tarder de ce côté chercher ! Merci encore...
Cyriloch
Je te trouve un peu désagréable mais je te remercie beaucoup pour ces
explications ! Je m'en vais sans tarder de ce côté chercher !
Merci encore...
Je te trouve un peu désagréable mais je te remercie beaucoup pour ces explications ! Je m'en vais sans tarder de ce côté chercher ! Merci encore...
Cyriloch
cosmoKen
Je pense que Bruno essaye juste de te faire comprendre que c'est imbuvable se sélectionner quelque chose dans une liste de 2000 éléments.
Ergonomiquement parlant, tu devrais soit te faire une popup, soit utiliser de l'AJAX (doc : http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ), soit une présélection de l'article (cf. propos de Bruno).
Non seulement, ce sera plus pratique (+ rapide d'utilisation), mais aussi plus rapide d'éxécution.
Je pense que Bruno essaye juste de te faire comprendre que c'est
imbuvable se sélectionner quelque chose dans une liste de 2000
éléments.
Ergonomiquement parlant, tu devrais soit te faire une popup, soit
utiliser de l'AJAX (doc :
http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ), soit une
présélection de l'article (cf. propos de Bruno).
Non seulement, ce sera plus pratique (+ rapide d'utilisation), mais
aussi plus rapide d'éxécution.
Je pense que Bruno essaye juste de te faire comprendre que c'est imbuvable se sélectionner quelque chose dans une liste de 2000 éléments.
Ergonomiquement parlant, tu devrais soit te faire une popup, soit utiliser de l'AJAX (doc : http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ), soit une présélection de l'article (cf. propos de Bruno).
Non seulement, ce sera plus pratique (+ rapide d'utilisation), mais aussi plus rapide d'éxécution.
- = Cyriloch = -
Je pense que Bruno essaye juste de te faire comprendre que c'est imbuvable se sélectionner quelque chose dans une liste de 2000 éléments.
Bien sûr et je l'avais compris comme ainsi. Mon propos sur son côté désagréable était une forme de clin d'oeil et mes remerciements étaient sincères !
Ergonomiquement parlant, tu devrais soit te faire une popup, soit utiliser de l'AJAX (doc : http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ), soit une présélection de l'article (cf. propos de Bruno).
Non seulement, ce sera plus pratique (+ rapide d'utilisation), mais aussi plus rapide d'éxécution.
Merci et cordialement,
Cyriloch
Je pense que Bruno essaye juste de te faire comprendre que c'est
imbuvable se sélectionner quelque chose dans une liste de 2000
éléments.
Bien sûr et je l'avais compris comme ainsi. Mon propos sur son côté
désagréable était une forme de clin d'oeil et mes remerciements étaient
sincères !
Ergonomiquement parlant, tu devrais soit te faire une popup, soit
utiliser de l'AJAX (doc :
http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ), soit une
présélection de l'article (cf. propos de Bruno).
Non seulement, ce sera plus pratique (+ rapide d'utilisation), mais
aussi plus rapide d'éxécution.
Je pense que Bruno essaye juste de te faire comprendre que c'est imbuvable se sélectionner quelque chose dans une liste de 2000 éléments.
Bien sûr et je l'avais compris comme ainsi. Mon propos sur son côté désagréable était une forme de clin d'oeil et mes remerciements étaient sincères !
Ergonomiquement parlant, tu devrais soit te faire une popup, soit utiliser de l'AJAX (doc : http://www.toutjavascript.com/savoir/xmlhttprequest.php3 ), soit une présélection de l'article (cf. propos de Bruno).
Non seulement, ce sera plus pratique (+ rapide d'utilisation), mais aussi plus rapide d'éxécution.
Merci et cordialement,
Cyriloch
Bruno Desthuilliers
Je te trouve un peu désagréable
Tu m'en vois désolé. Mais si tu préfère, je peux aussi m'abstenir de répondre à tes questions.
Merci encore...
De rien
Je te trouve un peu désagréable
Tu m'en vois désolé. Mais si tu préfère, je peux aussi m'abstenir de
répondre à tes questions.