[RESOLU] Passer des valeurs d'un tableau à un autre

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Passer des valeurs d'un tableau à un autre

Re: Passer des valeurs d'un tableau à un autre

par finipe » 19 avr. 2015, 00:30

Eh bien, c'est le forum le plus efficace qui soit : le simple fait de poster mon message, j'ai trouvé la solution :D (c'était bien une confusion entre indice et valeur).

Il fallait faire :

Code : Tout sélectionner

$CHAINE_PANIER = array(); for($i=0 ; $i<sizeof($_SESSION['panier']) ; $i++) { // Si la case a été cochée, on ajoute à la liste des articles de correspondant à cette adresse // et on supprime de la liste des indices non affectés if($_POST['item_'.$i] == 1) { $CHAINE_PANIER[] = $i; for($k=0 ; $k<sizeof($_SESSION['liste_indices']) ; $k++) { if($_SESSION['liste_indices'][$k] == $i) { unset($_SESSION['liste_indices'][$k]); $_SESSION['liste_indices'] = array_values($_SESSION['liste_indices']); } } } }
Bon maintenant, il va falloir que j'améliore le truc, histoire qu'on puisse modifier, éditer, supprimer, savoir ce qui se passe si des articles sont enlevés ou ajoutés au panier entre temps... Bref ça promet !

Passer des valeurs d'un tableau à un autre

par finipe » 19 avr. 2015, 00:02

Bonjour à tous,

Je me prends la tête sur un détail stupide sans m'en sortir depuis quelques heures... Voici donc :

- J'ai une variable de session $_SESSION['liste_indices'] contenant pour commencer tous les indices de la variable $_SESSION['panier']. Exemple : si mon panier contient 5 articles, ma variable $_SESSION['liste_indices'] sera Array(0, 1, 2, 3, 4).

- Par soumission de formulaire, je sélectionne des éléments du panier pour les affecter à différentes adresses de livraison.
Du coup, je dois retirer les indices du panier correspondant de ma variable $_SESSION['liste_indices'].

J'ai essayé à coup de array_values et autres trucs plus ou moins vaseux, mais je n'y arrive pas... Un peu de code concret peut-être pour y voir plus clair :

Code : Tout sélectionner

$CHAINE_PANIER = array(); for($i=0 ; $i<sizeof($_SESSION['panier']) ; $i++) { // Si la case a été cochée, on ajoute cet article à la liste des articles correspondant à cette adresse de livraison // et on le supprime de la liste des articles non affectés if($_POST['item_'.$i] == 1) { $CHAINE_PANIER[] = $i; unset($_SESSION['liste_indices'][$i]); } } $_SESSION['liste_indices'] = array_values($_SESSION['liste_indices']);
Quelques précisions :
- $_POST['item_'.$i] correspond à une case à cocher dans le formulaire (vous vous en seriez doutés !)
- $CHAINE_PANIER est ensuite inscrit dans une variable $_SESSION['livraison']

Je crois que je m'embrouille entre les valeurs et les indices, mais ça fait trop longtemps que j'ai les yeux dessus, j'arrive plus à voir :)

Merci pour votre aide !