Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1098 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Supression dans un tableau de tableau...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Supression dans un tableau de tableau...

n°680827
gaidjka
Posté le 23-03-2004 à 08:27:32  profilanswer
 

Bonjour tout le monde. Voilà je suis débutante en php et je n'arrive pas à résoudre un problème. C'est la galère! C'est pourquoi je me décide enfin a poster un message sur ce forum pour vous demander un peu d'aide...
 
Je vous explique. Je gère un panier d'achats. Le visiteur recherche un produit selon des critères. Les résultats sont ensuite afficher. Il peut ensuite insérer les produits désirés dans un panier d'achats. Ce pannier est en réalité un tableau stocké dans une session. Rien n'est encore envoyé dans une base de données! Le visiteur peut donc vider son pannier, ou simplement retirer un article. Pour vider le pannier, je supprime simplement le tableau de la session, mais pour retirer un article, je n'y arrive pas. J'utilise la fonction unset, mais je sais pas quoi mettre en argument. Quelqu'un peut-il m'aider?
 
Pour rendre encore plus clair mon prob, voilà comment j'ai créé mon tableau.
 
  $Tab = array('Id' => $ProduitId, 'Nom' => $CommandeNom, 'Prix' => $CommandePrix);
  $TabCommande[] = $Tab;
 
(je fais un tableau de tableau... :-) )
 
je sais donc pas comment supprimer un $Tab(selon l'id récupéré) dans $TabCommande...
 
Merci d'avance!

mood
Publicité
Posté le 23-03-2004 à 08:27:32  profilanswer
 

n°680852
darxmurf
meow
Posté le 23-03-2004 à 09:32:14  profilanswer
 

hello,
 
Euh moi je ferais moins compliqué, il suffit de faire un tableau avec juste les numéros d'articles que le mec choisit...
$tab[1] = 3423453
$tab[2] = 765456f
$tab[3] = d345gfe
$tab[4] = 22www35
etc etc. après ça tu fais une boucle pour rechercher le numéro et mettre "la case" à zéro.
du coup tu auras :
$tab[1] = 3423453;
$tab[2] = 765456f;
$tab[3] = ;
$tab[4] = 22www35;
 
Après ça, je ne sais pas si je pense juste :D


---------------
Des trucs - flickr - Instagram
n°680864
Mara's dad
Yes I can !
Posté le 23-03-2004 à 09:38:19  profilanswer
 

Je vois le problème, les indices de ton tableau $TabCommande ne sont pas directement liés à l'id du produit.
 
Tu va aussi avoir des problèmes si un client ajoute plusieurs fois le même produit.
 
En fait, tu as un niveau en trop dans tes tableaux, et une info manquante : la quantité.
 
Je tu suggère donc de procéder ainsi :
 
$Tab : Info 'temporaire' sur un produit.
$TabCommande : Tableau des produits de la commande.
 
Ajouter $Quantity d'un produit

if( isset( $TabCommande[$ProduitId] ) )                                          
{                                                                                
 $Tab = $TabCommande[$ProduitId];
 $Tab['Qty'] += $Quantity;
}
else
{
 $Tab = array( 'Nom' => $CommandeNom, 'Prix' => $CommandePrix, 'Qty' => $Quantity );
}
$TabCommande[$ProduitId] = $Tab;


Supprimer complètement un produit :

unset( $TabCommande[$ProduitId] );


 
Enlever $Quantity à un produit :

if( $Quantity >= $TabCommande[$ProduitId]['Qty'] )
{
 unset( $TabCommande[$ProduitId] );
}
else
{
 $TabCommande[$ProduitId]['Qty'] -= $Quantity;
}


 
Sinon, tu peux aussi faire de l'objet, c'est plus fun :D


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°680967
ratibus
Posté le 23-03-2004 à 10:32:26  profilanswer
 

Ajouter $Quantity d'un produit  

Code :
  1. if( isset( $TabCommande[$ProduitId] ) )                                         
  2. {
  3. $TabCommande[$ProduitId]['Qty'] += $Quantity;
  4. }
  5. else
  6. {
  7. $TabCommande[$ProduitId] = array( 'Nom' => $CommandeNom, 'Prix' => $CommandePrix, 'Qty' => $Quantity );
  8. }

:D


Message édité par ratibus le 23-03-2004 à 10:32:40
n°681000
Mara's dad
Yes I can !
Posté le 23-03-2004 à 10:45:50  profilanswer
 

MDR...
 
Elle est où la blague drôle que j'ai pas vu ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°681019
darxmurf
meow
Posté le 23-03-2004 à 10:58:09  profilanswer
 

:heink:


---------------
Des trucs - flickr - Instagram
n°681040
gaidjka
Posté le 23-03-2004 à 11:16:41  profilanswer
 

merci beaucoup, ça marche bientot. juste un petit détail:
$TabCommande[$ProduitId]
 
--> comment je fais pour récupérer l'indice de $TabCommande (donc $ProduitId) dans une autre page...

n°681041
Hermes le ​Messager
Breton Quiétiste
Posté le 23-03-2004 à 11:18:09  profilanswer
 

gaidjka a écrit :

merci beaucoup, ça marche bientot. juste un petit détail:
$TabCommande[$ProduitId]
 
--> comment je fais pour récupérer l'indice de $TabCommande (donc $ProduitId) dans une autre page...


 
sessions

n°681049
gaidjka
Posté le 23-03-2004 à 11:22:18  profilanswer
 

bon, je pense que ça doit être tout simple, mais je trouve pas... Effectivement j'envoie mon tableau dans une session, mais là n'est pas le problème. Lorsque j'affiche mes articles, je parcours tout le tableau de ma session, un lien se trouve à coté des article pour les supprimer. J'aimerai que ce lien envoie à ma page de traitement l'indice de la ligne du tableau où est stocké le produit que le visiteur désire supprimer... vous comprenez??? Mais je sais pas comment récupérer cet indice dans une variable...

n°681051
darxmurf
meow
Posté le 23-03-2004 à 11:23:10  profilanswer
 

ou GET ou POST mais si tu veux y récup dans tout le site, session... :)


---------------
Des trucs - flickr - Instagram
mood
Publicité
Posté le 23-03-2004 à 11:23:10  profilanswer
 

n°681058
Mara's dad
Yes I can !
Posté le 23-03-2004 à 11:28:51  profilanswer
 

gaidjka a écrit :

bon, je pense que ça doit être tout simple, mais je trouve pas... Effectivement j'envoie mon tableau dans une session, mais là n'est pas le problème. Lorsque j'affiche mes articles, je parcours tout le tableau de ma session, un lien se trouve à coté des article pour les supprimer. J'aimerai que ce lien envoie à ma page de traitement l'indice de la ligne du tableau où est stocké le produit que le visiteur désire supprimer... vous comprenez??? Mais je sais pas comment récupérer cet indice dans une variable...


 
OK !
 
foreach( $TabCommande as $ProduitId => $Tab )
{
 echo( "Produit : $ProduitId<br>\n" );
 print_r( $Tab );
}
 
Vu ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°681067
gaidjka
Posté le 23-03-2004 à 11:33:44  profilanswer
 

En fait ce n'est pas tout à fait ça que je voulais... Je vais essayer de m'expliquer plus clairement... J'ai donc un tableau $TabCommande avec comme indice $ProduitID ce qui donne $TabCommande[$ProduitID] voilà ce qui peux donc me donner:
$TabCommande[12] ou $TabCommande[34]...
Chacune de ces cellules du tableau contiennent des valeurs (stockés ds un tableau...), mais ce n'est pas ces valeurs que je veux récupérer pour l'instant, c'est l'indice (dans mon exemple 12 ou 34) voici la structure de mon tableau:
 
  $Tab = array('Nom' => $CommandeNom, 'Prix' => $CommandePrix);
  $TabCommande[$ProduitId] = $Tab;
  $_SESSION['Commande'] = $TabCommande;
 
Moi je veux connaitre la valeur de $ProduitId...

n°681074
gaidjka
Posté le 23-03-2004 à 11:35:30  profilanswer
 

Merci Mara's dad c'est tout à fait ça, c'est bon mon problème est terminé, merci! (désolée, j'ai posté l'autre message après avoir vu le tiens)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Supression dans un tableau de tableau...

 

Sujets relatifs
faire un tableau scrollable c'est possible ?Tableau en pdf a partir de php
Probleme de new, tableau, * , ou & ?[C] tableau de tructure global
une tableau qui s'actualise tout seul en fonction de choix,taille d'un tableau en Java ?
[PHP] Gérer un tableau à 4 dimensions[ASM] Parcours d'un tableau "BYTE" et "WORD"
Titre sur un tableau/calquenommage tableau dynamiquement
Plus de sujets relatifs à : Supression dans un tableau de tableau...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR