Tableau javascript vers PHP [Résolu]

cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 18 oct. 2006 à 14:29 - Dernière réponse : Ordinastie 93 Messages postés samedi 29 janvier 2005Date d'inscription 17 octobre 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 18 oct. 2006 à 14:43
3
Merci
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 />

Merci cs_bultez 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de cs_bultez
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 18 oct. 2006 à 14:54
0
Merci
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 :)
Commenter la réponse de cs_chamallow
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 18 oct. 2006 à 15:02
0
Merci
   >>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 />
Commenter la réponse de cs_bultez
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 18 oct. 2006 à 15:06
0
Merci
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 ...
Commenter la réponse de cs_chamallow
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 18 oct. 2006 à 15:24
0
Merci
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 />
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 18 oct. 2006 à 15:27
0
Merci
>>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 />
Commenter la réponse de cs_bultez
syndrael 2382 Messages postés lundi 4 février 2002Date d'inscription 29 décembre 2012 Dernière intervention - 18 oct. 2006 à 15:29
0
Merci
Je pense ke le monsieur fait allusion à cette page..
http://olance.developpez.com/articles/web/javascript/modification-inline/exemple/

S.
Commenter la réponse de syndrael
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 18 oct. 2006 à 15:37
0
Merci
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 ...
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 19 oct. 2006 à 11:23
0
Merci
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 ...
Commenter la réponse de cs_chamallow
cs_chamallow 363 Messages postés mercredi 18 mai 2005Date d'inscription 29 janvier 2007 Dernière intervention - 19 oct. 2006 à 11:51
0
Merci
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 !
Commenter la réponse de cs_chamallow
Ordinastie 93 Messages postés samedi 29 janvier 2005Date d'inscription 17 octobre 2008 Dernière intervention - 19 oct. 2006 à 12:45
0
Merci
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
Commenter la réponse de Ordinastie

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.