sujet peut-être trop métaphysique sur les tableaux html - HTML/CSS - Programmation
Marsh Posté le 17-08-2010 à 10:24:31
Bonjour,
Sur chaque ligne, tu dois donc avoir des textbox, et un bouton. Plusieurs solutions s'offrent a toi.
Tu peux avoir des boutons de typesubmit, et faire un test en php pour savoir sur lequel l'utilisateur a appuye et ainsi determiner la ligne a modifier.
Tu peux aussi avoir des boutons de type button relies a une fonction javascript qui actualise la page em envoyant dans l'url uniquement les informations de la ligne requise qui seraient ensuite recuperes par un script php.
Une autre solution serait de faire une fonction ajax appelee a partir d'un evenement onClick sur tes boutons, qui mettrait a jour ta base de donnees sans recharger la page, se rapprochant peut-etre plus de ton "type excel".
Il est aussi possible de mettre a jour chaque champ textbox des qu'ils sont modifies, toujours a l'aide d'ajax, en utilisant l'evenement onChange (ce qui est encore plus proche d'excel), et sans avoir besoin de disposer de code a outrance.
Marsh Posté le 18-08-2010 à 10:39:50
hi,
dans l'exemple que tu mentionnes, il n'y a en réalité pas de tableau HTML mais une simple suite de balises. On perd donc la sémantique du tableau (puisqu'une colonne verte, par exemple, ne correspond pas à une colonne de tableau réellement).
après, si c'est pour faciliter la démarche utilisateur, t'as une autre solution possible : tu fais un formulaire unique qui contient ton tableau HTML avec, dans chaque cellule, tes champs.
Puis soit tu fais de l'ajax pour mettre à jour une donnée au "onchange" d'un champ (en gros, à chaque fois que l'utilisateur tape un mot dans un champ et passe au suivant, le champ quitté est mis à jour dans la base de données) ce qui peut s'avérer un peu lourd en requêtes, mais à voir. (ce que dit olev à la fin de son message)
Soit tu laisses l'utilisateur mettre à jour toutes les cellules qu'il veut et tu fais un submit global et là tu fais une boucle pour parcourir tous les champs et mettre à jour dans la base "d'un coup". Là on se rapproche aussi d'Excel au sens où on modifie les cellules qu'on veut et au final, on fait Fichier > Enregistrer pour tout sauvegarder d'un coup, et non fichier > enregistrer à chaque cellule modifiée.
Marsh Posté le 16-08-2010 à 19:00:07
Bonjour
Je cherche à faire un tableau (au sens html) dans lequel je pourrai saisir des informations, avec un bouton "enregister" sur chaque ligne. Le click sur le bouton irait faire une mise à jour de bdd.
Ainsi l'utilisateur ferait ses modifs directement dans le tableau. Je trouve que c'est plus convivial pour lui, plutôt que de lui faire cliquer un lien qui l'amène sur un formulaire où il modifierait ses données. D'autant plus vrai que si le tableau possède 3 ou 4 colonnes seulement.
Pour ce faire, j'ai essayé de mettre plusieurs formulaires dans un même tableau. Je me heurte alors à la sémantique html qui refuse ce genre d'opération.
J'essaie de tricher en mettant des div, des p, en sortant les tr du form, etc.... Rien à faire j'ai toujours ce pb de verif w3c (suis peut être trop exigeant...). Et puis c'est pas très beau.
J'ai trouvé ceci : http://giminik.developpez.com/arti [...] -style.php. Ca se rapproche plus de ce que je voudrai faire . Mais je trouve que ça fait beaucoup de code pour un tableau....
Alors je me pose la question au sujet de la saisie dans des tableaux. Finalement j'en vois pas beaucoup où on peut saisir directement dans un tableau. Je vois plutôt des renvois vers des formulaires où l'utilisateur valide une ligne et est renvoyé ensuite vers une liste.
Y'a vraiment pas plus convivial en html/css ? Y'a pas moyen de faire quelque chose qui ressemblerait à une saisie excel ?
Comment faites vous vos tableaux ? Je suis intéressé par des exemples pour me faire des convictions sur le sujet.
Merci pour vos retours sur vos expériences.
Dominique