Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2006, 15h16   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 7
Points : 4
Points : 4
Par défaut [Prototype] Envoie de données à plusieurs "dimensions"

Hello,

Je développe en ce moment un prototype de shop utilisant Ajax et j'ai un petit soucis de conception pour la gestion de la commande.

Une commande comporte plusieurs lignes, chaque ligne représente un produit spécifique et une quantité. J'ai donc dans la BD une table "commande" qui spécifie l'id de l'utilsateur, la date, etc ... et une table "ligne de commandes" qui liste toutes les lignes de toutes les commandes avec l'id du produit, la quantité, et l'id de la commande (dont fait parti la ligne). Classique en somme.

Dans mon application, j'aimerais que l'utilisateur puisse enregistrer sa commande. Il s'agira donc une fois confirmation de sa part de lancer une connexion au serveur pour créer une nouvelle commande puis de renvoyer l'id de cette commande nouvelle commande. Pour cette partie, pas de problème.

Ensuite il va falloir que l'application enregistre chaque ligne de commande dans la BD. Et c'est là que se pose le problème: est-ce possible de le faire en une seule connexion ?

Existe-il une méthode simple pour transformer un tableau à deux dimension (en l'occurence, la première dimension correspondrait au numéro de la ligne de commande et la seconde dimension, l'attribut de la ligne(nom du produit, quantité, etc...)) en une chaine de charactère qui peut être envoyée par méthode asynchrone?

Autrement, je pensais créer une boucle qui pour chaque ligne de commande envoie une connexion au serveur pour qu'il ajoute la ligne dans la BD. Mais suivant le nombre de ligne, cela risque de prendre beaucoup de temps et cela fait beaucoup de connexion asynchrone qui tournent en même temps.

Qu'en pensez-vous ? Auriez-vous par hasard en tête une autre façon de faire ?

Merci d'avance
ozdoz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 16h45   #2
Membre chevronné
 
Inscription : mai 2005
Messages : 657
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 657
Points : 722
Points : 722
Salut,

Citation:
Existe-il une méthode simple pour transformer un tableau à deux dimension (en l'occurence, la première dimension correspondrait au numéro de la ligne de commande et la seconde dimension, l'attribut de la ligne(nom du produit, quantité, etc...)) en une chaine de charactère qui peut être envoyée par méthode asynchrone?
XML devrait marcher assez bien.

Si côté serveur tu utilises du PHP, tu peux également essayer de serializer le tableau javascript avec une fonction style -> http://blogs.vinuthomas.com/2006/05/...rray-into-php/
Taum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 16h54   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 7
Points : 4
Points : 4
Du XML dans le sens client->serveur ?
Je ne savais pas que c'était possible en fait ...

Je vais regarder la seconde méthode. Merci

EDIT: pour envoyer du XML au serveur, il faut l'encapsuler dans une string ?
du stype param='<LigneCommandes><ligne>blabla<ligne></LigneCommandes>'

et ensuite on peut parser le XML dans le PHP ?
ozdoz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2006, 19h32   #4
Membre chevronné
 
Inscription : mai 2005
Messages : 657
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 657
Points : 722
Points : 722
Exactement, il te suffit ensuite de parser la string avec simplexml_load_string() par exemple.
Taum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2006, 01h43   #5
Invité de passage
 
Inscription : octobre 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 7
Points : 4
Points : 4
Effectivement c'est ce qui me parait le plus simple.
Merci.
ozdoz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h59.


 
 
 
 
Partenaires

Hébergement Web