|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour à tous,
Voici le print_r d'un tableau $_POST : Code :
Est-ce possible avec une fonction et uasort ? Merci de vos tuyaux. |
||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Inscription : juillet 2010 Messages : 32 ![]() |
Je dirai
Mais peux tu nous en dire plus sur ce que tu veux faire ? |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonsoir,
Je doute que asort($_POST['livraison']); puisse trier $_POST , enfin tous ses sous-tableaux sur le critère des livraisons... C'est plus compliqué que ça. Tu vois que les sous_tableaux sont des produits, avec un id, un prix, un mode de livraison, et qu'ils sont au nombre de 4. Je veux qu'ils s'affichent ordonnés par la colonne "livraison". C'est à dire que le produit de livraison "tel" , dans l'exemple le 1er , référence "toto", s'affiche en dernier alors que c'est le premier a avoir été saisi dans le formulaire... |
|
|
00
|
|
|
#4 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Salut
A mon avis, c'est la manière dont serait construit le formulaire qui n'irait, les classements ne correspondraient pas. Tu as des produits, et pour chaque produit devrait correspondre 1 identifiant, 1 référence, 1 prix, 1 tva et 1 mode de livraison. Pour exemple, construire le formulaire ainsi devrait améliorer les choses : Code :
$_POST['produit'][0][id_prod] (1er produit, valeur : 158) etc ... Une boucle foreach sur $_POST['produit'] devrait te permettre d'obtenir chaque élément correspondant sans devoir faire de trie. De même qu'il n'y pas besoin de renseigner le nombre de produits dans le formulaire, un count($_POST['produits']) retournera ce nombre. Si chaque produit ayant un mode de livraison, et qu'une livraison contient un sous ensemble, et bien pareil, il suffit de structurer le formulaire afin d'obtenir un tableau à plusieurs dimensions. Exemple : Code :
Tout tient théoriquement dans la manière de structurer le formulaire.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
|
|
#5 | ||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour, et merci de ta réponse
Effectivement, mon formulaire n'est pas vraiment construit comme cela, car les champs sont générés dynamiquement avec Ajax en fonction d'un nombre de produits choisi par le user. Exemple : il choisit 4, j'affiche 4 "blocs" de formulaires vierges avec chacun référence, nom, prix, livraison... Code :
Résultat : le tableau que j'ai mis en exemple dans le 1er post. Mais évidemment, l'ordre est toujours celui du choix du user. Et l'idée est que, au post du formulaire, les produits dont le champ "livraison" est à "tel" s'affichent en dessous de ceux dont le champ "livraison" est à "exp". Et j'aurais préféré ne pas changer toute la structure du formulaire... |
||
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() |
Bonjour,
Un simple tri à bulle devrait faire l'affaire, et lors de la permutation de 2 valeurs du sous-tableau "livraison", on permute aussi les valeurs correspondants dans les autres sous-tableau.
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour,
Pourrais-tu préciser ? |
|
|
00
|
|
|
#8 | ||
|
Membre éclairé
![]() |
Code :
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
|
||
|
|
00
|
|
|
#9 | |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Citation:
Certes, si tout est déjà fait, programmé, ça fait du boulot, ça freine un peu, mais il faut quand même bien comprendre que c'est le manque de structure qui provoque ça. Il faut comprendre aussi que, vu ce que tu obtiens ne reflète pas la réalité, du coup, ce que tu rajouteras actuellement ne fera qu'enfoncer le clou un peu plus. Normalement il est préférable de créer une structure proche voir similaire au niveau du formulaire selon la réalité, et aussi de ce qui doit être fait dessus. Ces éléments là viennent surement d'une base de donnée, leur structure devraient alors être proche de la base de donnée. D'autant plus que le but sera très certainement de les insérer dans une Bdd. Génère en Ajax/JS cette structure là, exploite les tableaux en plusieurs dimensions. Où est la difficulté ? Comment fais tu pour générer ces input ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
|
00
|
|
|
#10 | |||||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Citation:
Effectivement l'idée est là puisque il faut que en fonction de l'ordre de "livraison" les autres tableaux soient modifiés de sorte que Code :
Code :
|
|||||
|
|
00
|
|
|
#11 |
|
Membre éclairé
![]() |
permuter = échanger
Le code pour permuter le contenu de 2 variables : $tmp = $_POST["livraison"][$i]; $_POST["livraison"][$i] = $_POST["livraison"][$i+1]; $_POST["livraison"][$i+1] = $tmp; Mais si c'est trop compliqué, je te conseille de suivre les idées de RunCodePhp
__________________
Les boutons et adorent être cliqués, donc ne les oubliez pas
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bien bien, je vais étudier tout cela de plus près...
Merci à tout les deux de votre aide précieuse. |
|
|
00
|
|
|
#13 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 727 ![]() |
Essai de produire un tableau du genre :
Code :
Code :
Faut voir. En admettant qu'on prévoit de faire des pré-vérifications en JS, comme vérifier que tel ou tel produit contient bien un prix, une référence, etc ..., une bonne structure facilitera là aussi ces vérifications.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com