Enlever un element d'un array

Résolu
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 15 sept. 2008 à 17:35
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 16 sept. 2008 à 14:23
Bonjour a tous,

Je suis actuellement en train de développer un petit module générant des factures (avec la class FPDF) prenant en compte le stock de matériel de la structure en question (géré par un module php déja existant), et ceci devant être réalisé d'une manière "cross-platform" (PC/Mac/Windows mobile/smartphone/mobile classique).

Pour cela pas d'utilisation d'ajax ni même de javascript pour ajouter des tableaux d'input a la volée... du coup méthode un peu bourrin, mais qui me pose problème:

une facture ce génère avec "n" produits chacun de "x" quantité. Pour cela j'ai fais un formulaire simple avec un tableau ($_SESSION['produits'] = array();) et je fais un push a chaque entrée (l'utilisateur check une checkbox et renvoi le formulaire pour l'envoi a la base et le traitement)

CEPENDANT: Je voudrai permettre la suppression d'un élement (pas la modification parce que la ma tête va exploser) quand l'utilisateur clic sur une des croix (ayant pour lien stock.factures.php?del='l'element'

ma question est de savoir comment puis-je faire pour supprimer l'element en question du tableau sans avoir a faire un gros unset();

Merci d'avance.

PS/ pour plus d'aide voici la structure du truc (en gros)

$_SESSION['produits'] = array();

// contenu de l'array (shématiquement ^^)
[0] => "1n5",
[1] => "6n3",
[2] => "2n8"... etc

(le premier chiffre est a chaque fois l'id du produit (qu'on retrouve dans le del=element), le "n" me sert pour mon explode (quand la facture et tout les calculs savants se génèrent ^^) et le deuxieme chiffre exprime la quantité (désolé pour avoir fais un truc aussi moche mais j'voyais pas trop comment le faire pour le coup)

Merci d'avance

5 réponses

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
16 sept. 2008 à 09:55
Bonjour,

Tu peux faire ton tableau autrement, en utilisant la clé du produit comme indice, et la qté comme valeur :

$_SESSION['produits'] = array();

// contenu de l'array
$_SESSION['produits'][1] = 5;
$_SESSION['produits'][6] = 3;
$_SESSION['produits'][2] = 8;

Cela évitera un explode à l'arrivée, et pour supprimer :
unset($_SESSION['produits'][$_GET['element']);
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 42
15 sept. 2008 à 20:27
salut

tu peux utiliser la fonction unset pour faire ca.
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
15 sept. 2008 à 21:49
bein j'ai essayé unsert($_SESSION['produits'][$_GET['element']]); mais il a rien fais de spécial :s, la fonction s'utilise bien comme ca pourtant
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
15 sept. 2008 à 21:50
unset, par unsert pardon ;) enfin on s'est compris
0

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

Posez votre question
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
16 sept. 2008 à 14:23
Effectivement, j'ai adopté ta solution, parce que de la manière dont j'avais pris le problème c'était la galère pour s'en sortir...
0