Demande conseils pour "style excel"

Résolu
Signaler
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
-
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
-
Bonjour,

Je dois créer un petit module en PHP qui reprendrait un existant Excel.
En fait la personne saisie tout sous excel aujourd'hui, et il faut que je simplifie ça en lui créant un module. Seulement je ne suis pas forcément d'accord avec ce qu'on me demande :p

Il faudrait que je fasse un tableau prédéfini (puisque c'est toujours les mêmes entêtes etc etc) que la personne pourrait remplir. Moi j'aurais bien vu un bouton "nouveau", qui ouvrirait une popup ou afficherait un formulaire pour saisir UNE ligne qu'on validerait avant de la voir apparaître dans le tableau. Ainsi, au moment de la validation, je pourrais enregistrer la ligne dans la base de données et calculer certaines colonnes du tableau (calcul automatique) en fonction de la saisie.
L'autre développeur n'est pas très d'accord avec moi. Il voudrait un tableau où les champs sont vides et où on peut saisir directement à l'intérieur des cases du tableau (comme dans excel quoi) et enregistrer le tout à la fin.

Sauf que je trouve ça un peu bête (enfin c'est mon avis), parce que quand la personne va venir modifier qu'une ligne sur 50 par exemple, il va falloir que je trapite les 50 lignes, alors qu'avec ma méthode, il n'y en aurait qu'une ...

Enfin bref, j'aimerais connaître vos positions, savoir ce que vous proposeriez à la personne qui utilisera ce module ...

Merci

11 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
Hello,

1- je t'ai pas oubliée...j'ai juste pas eu le temps. Mais je me pencherai sur le problème, promis.
2 - suis pas d'accord, lol. Déjà, y aura combien de personnes, hypothétiquement, ejn simultanné, sur ton bin's ? Ensuite, Ajax ? Pourquoi pas...mais pourquoi, au juste ? Ce que tu veux faire, typiquement, c'est du dynamique client. Puis enregistrement en bdd. Tu vas enregister CHAQUE modif que l'utilisateur va faire...? Et enregistrer 50 lignes d'un coup de fait peur ? Il sera bien plus rapide d'enregistrer 1 fois 50 lignes, que 50 fois 1 ligne...et ton sql server te sera reconnaissant...! Donc Ajax, pourquoi ? C'est joli, c'est sympa, mais là, en l'occurence, Ajax va te servir à quoi, à part enregistrer en base ? Tout le reste, ça va être du javascript, à grands coups de DOM.
Quand tu parles de "tester" les lignes de modif...heu...pq? Tu crois qu'Excel, quand tu enregistres ton document, vérifie les véritables modifications effectuées depuis la dernière sauvegarde ? Bref, qu'Excel fait de l'incrémental ? J'ai des doutes...pourquoi ne pas TOUT mettre à jour...? Plutôt que de vérifier ce qui a été modifié, pour ne mettre à jour que ça...? Cette solution serait peut-être ok pour plusieurs milliers de lignes, mais pour 50 ou 100...mieux vaut un gros update que 100 select suivis de 10-15 update...
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
Mon avis perso ??

Je serai d'avis de ton collègue.. Les pop-up c'est la merde à gérer, en terme de sécurité, de gestion de session etc..

Et puis cliquer pour la pop-up.. cliquer pour la validation..

Alors que ton tableau tu fais TAB et tu passes à l'autre case.. et puis Ajax ça sert à koa ??

S.
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Hmm alors déjà oublie ajax ... je pense pas qu'il est OK pour ...
Sinon le truc des popups c'était qu'une idée, j'ai pas dis que je gérerais avec ça. Le truc c'est qu'en gros à chaque fois la personne va valider tout le tableau ?? En plus, pour ajouteur des lignes, elle va faire comment ? Appuyer sur un bouton pour que ça lui créer une ligne vierge dans son tableau, puis aller la remplir et valider tout le tableau ?? C'est pas que la méthode de l'autre développeur je la trouve nulle, c'est que y'a des trucs que je trouve pas optimer (quoi que ma façon c'est sûrement pareil lol), d'où mon post ... Pzeut-être qu'on pourrait corriger des trucs dans ce que lui a dis, je sais pas ...
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
Ok.. on oublie Ajax..dommage..

Pour rajouter une ligne, tu peux le faire en javascript, tu devra juste
nommer tes cases à compléter avec un élément distinctif .. le numéro de
ligne justement.

Pour ce qui est des Insert et compagnie.. Tu peux utiliser On Duplicate Key de Mysql.. très pratique.

Tu dis 'la personne va valider tout le tableau'.. et alors ?? ou est le
problème ?? C'est bourrin mais je pense po ke dans ton temps de projet
tu aies inclus une phase de réflexion intensive.. l'utilisateur s'en
moque de valider tout le tableau ou juste une ligne. Il veut du
fonctionnel..

Et si ton utilisateur a un pop-up blocker tu fais comment ??

S.
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Alors on va donner des précisions :)

Déjà c'est une base SqlServer pas MySql.
Ensuite pour la validation, c'est que ça va bien aller quand c'est deux lignes, mais quand y'en a 50, va falloir soit tester pour voir la ligne qui a été modifiée, soit modifier les 50 lignes dans la base.

Je sais bien que la personne veut du fonctionnel, mais à la rigueur, si ça pouvait ne pas mouliner lol

Sinon l'utilisateur n'a pas les popups bloqués, on le sait parce que c'est autorisé ici lol et c'est juste pour l'intranet de la société.

Et sinon pour l'ajout de ligne en javascript, quelque part elle va bien clique sur un bouton pour lui ajouter une ligne vide non ? Si oui, c'est bien pareil que ma méthode au final ?
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Bon, finalement, après avoir trouvé un joli exemple AJAX, ben j'ai le droit de l'utiliser lol :)
Je me pose certaines question maintenant, mais je verrais bien au fur et à mesure !!

Merci pour ton avis :)

Au fait, ajax est assez bien documenté ou pas sur le web (j'ai juste cherché vite fait), parce que ça inquiète un peu l'autre développeur :p
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
C'est bien tu as trouvé une solution.. qui plus est en Ajax. Ca te
donnera une nouvelle compétence non négligeable.. et accessoirement
monnayable..LOL !!

Pour les 50 lignes, il est évident que tu ne va pas faire une boucle
SQL sur 50 lignes mais plutot une requete ki te ressortira les 50..

Après tu compares et voila..

S.
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Ben en fait, j'ai trouvé un exemple en AJAX qui présente un tableau de données, quand on clique sur une double case, on peut en modifier la valeur (un champ text apparait dans la case à la place de la valeur), ensuite quand tu fais entrée ou que tu quittes la case, la ligne dans la base de données va être modifier. Donc, lpus à enregistrer tout d'un coup. Je vais m'en inspirer :)
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Alors  pour ton 1, pas de problème :) Au pire tant pis :P de toute façon je sais plus trop bien à quoi joue mes sessions hihi

Et pour le 2? dis pas ça maintenant !!!!!! L'autre il a été super interessé par le truc en ajax lol Il a trouvé ça très chouette !! j'suis bien maintenant :P
Bon en fait pour te répondre :
    - une seule personne utilisera ce module tout le temps, et quelques autres mais pas toute la journée (donc pas beaucoup de personnes en même temps normalement)
   - Et euh Ajax, parce que dans les premières réponses qu'on m'a faite, ça a été mentionné ! lol (En fait je connais pas du tout l'ajax, j'ai commencé à regarder hier, ce que j'ai vu, c'est que ça utilise, PHP (si on veut), Javascript, (donc pour PHP et Javascript, c'est vrai que sans AJAX c'est possible), XML ... ou alors j'ai encore rien compris !)
   - Enregistrer 50 lignes d'un coup ne me fais pas peur, je trouvais ça un peu idiot pour une seule ligne quoi, parce qu'en fait, je vais pas aller updater qu'une seule table à chaque fois, mais au moins trois ... Mais bon ça change pas grand chose lol Je me disais juste que peut-être modifier qu'une ligne serait rapide!
   - Pour le test des lignes avant modification, c'est parce que comme j'étais pas trop pour tout enregistrer d'un coup, l'autre développeur m'a dit de tester quelle a été la ligne modifiée pour l'enregistrer après ... Donc c'était juste une idée comme ça.

En gros, je ne savais pas s'il était plus judicieux de sauvegarder qu'une seule ligne plutôt que tout. Et AJAX, c'est vraiment inutile alors ? Parce qu'avec, j'aurais pu vérifier la saisie à chaque fois ... Mais ça je suppose que juste avec le Javascript ça va être possible.
Bon, alors si AJAX ne sert pas dans mon projet (snif lol ben j'en ferais pour moi toute seule pour voir comment c'est !! :) ), je vais juste me débrouiller avec Javascript et PHP comme je le fait d'habitude.

En tout cas, merci de vos avis :)  (je crois que j'ai tout dis :P)
Messages postés
2378
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
29 décembre 2012
19
Dommage que tu abandonnes Ajax, parce que je pense ke ça aurait donné un projet intéressant.

Tu peux nous donner l'adresse de l'exmple que tu as trouvé ?? Les
exemples fleurissent un peu partout mais c'est vrai ke dès ke j'en
toruve un bon, j'aime bien le faire partager.

Bonne journée.

S.
Messages postés
363
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
29 janvier 2007
1
Et bien, c'est vrai qu'en y réfléchissant bien, je vois pas trop à quoi servirait l'ajax là à part enregistrer au fur et à mesure ...
D'ailleurs quand est-ce qu'il faut se servir de l'ajax ???

Sinon l'exemple que j'ai trouvé (code et démo) était là : http://www.j0k3r.net/news-edition-inline-de-plusieurs-donnees-en-ajax-1477.html

Voilà voilà, peut-être ça inspirera des personnes tout ça :)