Enlever un element d'un array [Résolu]

shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 sept. 2008 à 17:35 - Dernière réponse : shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention
- 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
Afficher la suite 

5 réponses

Répondre au sujet
cs_jeca 341 Messages postés mercredi 17 juillet 2002Date d'inscription 14 juillet 2011 Dernière intervention - 16 sept. 2008 à 09:55
+3
Utile
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']);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_jeca
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 15 sept. 2008 à 20:27
0
Utile
salut

tu peux utiliser la fonction unset pour faire ca.
Commenter la réponse de coucou747
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 sept. 2008 à 21:49
0
Utile
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
Commenter la réponse de shadow1779
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 sept. 2008 à 21:50
0
Utile
unset, par unsert pardon ;) enfin on s'est compris
Commenter la réponse de shadow1779
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 16 sept. 2008 à 14:23
0
Utile
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...
Commenter la réponse de shadow1779

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.