Tableau javascript vers PHP

Résolu
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 18 oct. 2006 à 14:29
Ordinastie Messages postés 93 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 - 19 oct. 2006 à 12:45
Bonjour,

Si la question a déjà été abordée, et bien désolée, mais j'ai pas trouvé !!

Voilà, j'ai un page php, qui affiche un tableau de données. Ces données peuvent être modifiées directement dans la page, grâce au javascript. Le problème, c'est que je dois enregistrer ce tableau de données dans ma base SqlServer, et je ne sais pas trop comment m'y prendre.
Je me suis dis que j'allais récupérer le contenu du tableau grâce à outerHTML, faire un tableau associatif de mes données ainsi récupérées et envoyer ce tableau à PHP pour l'enregistrement dans ma base. Mais comment envoyer un tableau en PHP ?? Via un formulaire ??
Sinon je me suis dis qu'il serait peut-être possible d'enregistrer mes modifications au fur et à mesure  dans une variable de session PHP qui contiendrait le tableau associatif ... mais je suis pasure que ça soit possible. Comme ça j'aurais peut-être moins de mal à passer mon tableau à PHP ...

Enfin voilà, qu'en pensez-vous ? Vous feriez comment ??

Merci bien de vos réponses

11 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 oct. 2006 à 14:43
Bonjour,
   un tableau ? alors, peut-être ?
   ch'tit exemple ?

new_1.php :
<form name=\"frm\"
  action=\"new_2.php\"
  method=\"post\" />
<table>
 ----
sai[]" value="1" />,
   sai[]" value="2" />

</form>

new_2.php :
<?php
 print_r ($_POST["sai"]);
?>

      il y a bien sûr d'autres solutions si celle-ci ne convient pas.

<hr />
            Cordialement    Bul    [mon Site]    [M'écrire]
<hr />
3
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
18 oct. 2006 à 14:54
Bonjour et merci pour ta réponse rapide !!

C'est bien une tableau <table> pré-remplit avec des données, que l'on modifie à souhait. Mais par défaut, je ne veux pas que mes cases soient des input, mais des cases normales, elles ne deviennent des input que quand on double-clique dessus ...

J'avais pas pensé au fait de faire directement un formulaire comme ça. Peut-être je peux m'en inspirer en mettant des champs input hidden ...

Je vais voir ça :)
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 oct. 2006 à 15:02
   >>je ne veux pas que mes cases soient des input, mais des cases normales, 
   >>elles ne deviennent des input que quand on double-clique dessus 
      joue plutôt avec disabled et/ou readonly.
      ( et un peu de css pour la présentation )
      c'est bien plus simple, à mon humble avis.
<hr />
            Cordialement    Bul    [
mon Site
]    [
M'écrire
]
<hr />
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
18 oct. 2006 à 15:06
Je sais, tu me l'as déjà dis dans un de mes posts précédemment, mais on aimerait éviter cela pour diverses raisons. C'est pour ça que ça ne devient des input pour la saisie que lors d'un double clic ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 oct. 2006 à 15:24
un ch'tit exemple ?

 ----

 à toi de finaliser et de d'adapter en fonction de tes goûts...

<hr />
            Cordialement       Bul    [mon Site]    [M'écrire]
<hr />
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
18 oct. 2006 à 15:27
>>mais on aimerait éviter cela pour diverses raisons.
   je ne vois pas pourquoi... mais
   modifier le innerHTML du TD ( et à mon humble avis, ça n'apportera rien de plus )   
<hr />
      Cordialement    Bul    [
mon Site
]    [
M'écrire
]
<hr />
0
syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
18 oct. 2006 à 15:29
Je pense ke le monsieur fait allusion à cette page..
http://olance.developpez.com/articles/web/javascript/modification-inline/exemple/

S.
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
18 oct. 2006 à 15:37
Oui ça ressemble au lien donné Mais c'est surtout que la manière de procédé (sans input par défaut) a été validée.
Je vais pas m'éterniser là-dessus parce qu'on va tourner en rond C'est juste que pour notre cas et pour les personnes concernées, on a trouvé que c'était "mieux", maintenant c'est vrai que y'a plus simple et sûrement mieux !!

Enfin bref, je vais voir si je peux me débrouiller avec des input hidden, c'est peut-être pas super, mais bon ...
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
19 oct. 2006 à 11:23
J'ai essayé avec des champs input cachés :

echo '<TR id="'.substr($cle,7).'"><TD>'.$elt['designation'].'</TD><TD>'.$elt['qteCommandee'].'</TD><TD headers="qtePosee" ondblClick="javascript:changeEtatCase(this);">'.$tabBase['rep|'.substr($cle,7)]['qtePosee'].'</TD><TD>'.$elt['prixUnitaireHT'].'</TD><TD>'.$prixHTCalcule.'</TD><TD headers="fte" ondblClick="javascript:changeEtatCase(this);">'.$tabBase['rep|'.substr($cle,7)]['fte'].'</TD><TD headers="totalFTE">'.round($totalCalcule,2).'</TD></TR>';

J'essaye donc de changer la valeur des champs cachés dans la fonction javascript changeEtatCase.
document.getElementsByName("saisie['qte"+document.getElementById('tabFacture').rows[cellule.parentNode.rowIndex].id+"']").value = valeur;

(valeur est la valeur entrée dans le tableau).

Le problème c'est que quand je passe dans la fonction pour changer le premier champ caché (celui dont le nom commence par saisie["qte ...), et que je fais un alert de la valeur de ce champ, il m'affiche la bonne chose. Ensuite quand je passe dans la boucle pour l'autre champ caché, il me dis que le premier est undefined !! Je vois pas trop pourquoi d'ailleurs ...
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
19 oct. 2006 à 11:51
J'ai compris mon erreur
J'écrasais mon champ input en enregistrant la valeur de la saisie dans la case du tableau correspondante. Voilà, j'arrive bien à récupérer la saisie une fois le formulaire validé !!

C'est pas forcément super génial ma façon de faire mais bon je vois pas autrement là ...

Merci pour l'aide !
0
Ordinastie Messages postés 93 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 2
19 oct. 2006 à 12:45
Bonjour,

Sinon, tu peux regarder du coté de JSON (http://json.org). Ca concerne la sérialisation des objets selon une même norme quelque soit le langage. Je pense que ca peut être plus mieux

@+ Ordinastie
0
Rejoignez-nous