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

  FORUM HardWare.fr
  Programmation
  PHP

  supprimer une ligne d'un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

supprimer une ligne d'un tableau

n°1204150
tellier
Posté le 21-09-2005 à 11:42:16  profilanswer
 

salut,
 
j'ai une variable de session contenant un tableau de tableau
j'aimerais que lors d'un clic sur un bouton precis (indiquant l'identifiant de la ligne du tableau)
cette ligne soit supprimer de mon tableau et que donc ma tableau est une longueur plus courte de 1.
 
j'espere que vous comprenez mon probleme, car je ne sais pas trop comment expliquer cela.
 
J'ai essayé d'écraser la ligne du tableau avec ceci:  tab[i] = array()
et de le detruire:  unset(tab[i])
 
mais apparement cela ne marche pas.

mood
Publicité
Posté le 21-09-2005 à 11:42:16  profilanswer
 

n°1204153
tellier
Posté le 21-09-2005 à 11:43:40  profilanswer
 

edit: j'ai remarqué que quand mon bouton supprime la derniere ligne du tableau cela fonctionne
mais qd je veux supprimer une ligne au debut ou au milieu du tableau, cela pose probleme.

n°1204160
omega2
Posté le 21-09-2005 à 11:47:17  profilanswer
 

En quoi ca ne marche pas? T'as fait quoi comme vérification?
Si c'est pas déjà fait, vérifie donc le contenu du tableau avec print_r avant et aprés suppression.
Ca te sortira un ensemble de donnée indigeste mais tu véras bien s'il y a une différence.

n°1204171
tellier
Posté le 21-09-2005 à 11:52:11  profilanswer
 

c'est lors de mon affichage que je vois qu'il y a un soucis puisque ma boucle for qui me permet de parcourir chauqe ligne du tableau essaye d'affichaer la ligne supprimer.
et le foreach qui est a l'interieur du for pour afficher les colonnes me donne un warning:
 
Warning: Invalid argument supplied for foreach() in d:\website\fotosport\caddie.php on line 38
 
j'en conclue que les colonnes ont bien été supprimées, mais pas la ligne

n°1204182
omega2
Posté le 21-09-2005 à 11:55:35  profilanswer
 

code de la page? J'ai jamais été fort en divination. ;)

n°1204185
tellier
Posté le 21-09-2005 à 11:57:06  profilanswer
 

Code :
  1. for($iiIndex = 0; $iiIndex < count($_SESSION['COMMANDE']); $iiIndex++)
  2. {
  3.  echo '<tr>';
  4.   foreach($_SESSION['COMMANDE'][$iiIndex] as $cle=>$valeur)
  5.   {
  6.    if($cle == 'PRIX')
  7.    {
  8.     printf('<td align="right" class="tablecommandtd">%01.2f</td>', $valeur);
  9.     $iiTotal = $iiTotal + $valeur;
  10.    }
  11.    elseif($cle != 'TITRE')
  12.    {
  13.     echo '<td class="tablecommandtd">' . $valeur . '</td>';
  14.    }
  15.   }
  16.   echo '<td class="tablecommandtd"><a href="actioncaddie.php?ACTION=delete&amp;ID=' . $iiIndex . '"><img src="images/delete.gif" alt="Supprimer cette photo du caddie" border="0" /></a></td>';
  17.  echo '</tr>';
  18.  echo '<tr><td colspan="6" class="tablecommandedescription">' . $_SESSION['COMMANDE'][$iiIndex]['TITRE'] . '</td></tr>';
  19. }

n°1204190
omega2
Posté le 21-09-2005 à 12:00:12  profilanswer
 

Et ca te choque pas de faire un simple for sur un tableau dans lequel t'as suprimer certains index numérique?
 
Je paris que ta ligne 38, c'est la ligne "foreach($_SESSION['COMMANDE'][$iiIndex] as $cle=>$valeur) ".

n°1204193
tellier
Posté le 21-09-2005 à 12:01:55  profilanswer
 

ben jsai pas
si je supprime uen ligne d'un tableau, j'ai un "trou" dans les index?
ca les redefinit pas automatiquement?

n°1204195
plainsofpa​in
Pingouino's lover
Posté le 21-09-2005 à 12:05:42  profilanswer
 

Et pourquoi ca le ferait ?


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1204196
tellier
Posté le 21-09-2005 à 12:05:57  profilanswer
 

et pourquoi pas?

mood
Publicité
Posté le 21-09-2005 à 12:05:57  profilanswer
 

n°1204197
omega2
Posté le 21-09-2005 à 12:05:59  profilanswer
 

Non, ca les redéfini pas.
En php, un index 15 ou un index "toto" c'est du pareil au même. Et comme php ne sait pas quel nom donner à "toto" si on enléve par exemple l'index "tata" et qu'on peut mélanger nombre et chaine de caractére comme indice, alros php ne change rien.
C'est en partie pour ça que foreach est si utilisé pour parcourir un tableau.
On peut aussi se passer de foreach et utiliser des fonctions tel que current, next ...


Message édité par omega2 le 21-09-2005 à 12:07:18
n°1204199
plainsofpa​in
Pingouino's lover
Posté le 21-09-2005 à 12:09:29  profilanswer
 

tellier a écrit :

et pourquoi pas?


 
Tout simplement parce qu'il ne fait que ce que tu lui dit de faire. Tu ne lui dis pas de réorganiser ton tableau, il ne le fait pas. Et ce n'est pas le cas qu'en PHP :o


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1204200
tellier
Posté le 21-09-2005 à 12:09:40  profilanswer
 

donc faut que je remplace mon for par un ofreach si je comprend bien

n°1204201
omega2
Posté le 21-09-2005 à 12:10:58  profilanswer
 

plainsofpain a écrit :

tout simplement parce le but d'un langage de programmation c'est de programmer, pas de taper deux lignes et d'avoir tout ce qu'on veut réalisé automatiquement :o
 
Et puis suppose que tu effaces un éléments de tablea


Sa question est pas conne : pourquoi ca le fait pas alors que ca le fait dans la pluspart des autres langages?
Le tout c'est de lui expliquer le pourquoi sans le prendre de haut.

n°1204203
tellier
Posté le 21-09-2005 à 12:12:18  profilanswer
 

merci omega2
 
sinon, avec le foreach, ca ne change pas le probleme puisque il me trouve 4 lignes pour tableau de 4 lignes dont 2 ont été supprimées

n°1204204
plainsofpa​in
Pingouino's lover
Posté le 21-09-2005 à 12:12:23  profilanswer
 

J'ai édité mon message. Dans les autres langages, c'est pas courant de réorganiser automatiquement un tableau associatif :o


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1204208
tellier
Posté le 21-09-2005 à 12:13:43  profilanswer
 

plainsofpain a écrit :

J'ai édité mon message. Dans les autres langages, c'est pas courant de réorganiser automatiquement un tableau associatif :o


 
ce n'est pas un tableau associatif
 
c'est un tableau avec des index qui contient des tableaux associatif

n°1204213
plainsofpa​in
Pingouino's lover
Posté le 21-09-2005 à 12:16:14  profilanswer
 

C'est quasiment le meme problème :)


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1204214
tellier
Posté le 21-09-2005 à 12:16:33  profilanswer
 

ca me perd tout ca...

n°1204215
omega2
Posté le 21-09-2005 à 12:16:42  profilanswer
 

En php, tous les tableaux sont asociatifs même si les indices sont des nombres. ;)
Mais c'est trompeur quand on a l'habitude que les tableaux que tous les tableaux à indices numériques ne soient pas associatifs.

n°1204219
tellier
Posté le 21-09-2005 à 12:18:38  profilanswer
 

néanmoins j'ai réussi a faire marché le foreach  
donc merci!!

n°1204220
plainsofpa​in
Pingouino's lover
Posté le 21-09-2005 à 12:19:12  profilanswer
 

Juste qu'il faudrait qu'il y ait un vrai typage des variables en php pour pouvoir intégrer des mécanismes existants dans d'autres langages (par exemple la gestion des tableaux en java est pas mal foutue).
 
C'est un des trucs lourds et chiants de php  :sweat:


Message édité par plainsofpain le 21-09-2005 à 12:19:31

---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°1204222
omega2
Posté le 21-09-2005 à 12:20:03  profilanswer
 

plainsofpain > :jap:

n°1204227
tellier
Posté le 21-09-2005 à 12:22:57  profilanswer
 

merci!
j'avais fais une erreru dans mon foreach
maintenant ca marche!
 
d'un coté je me me demande pourquoi j'ai utilisé un for et un foreach
au lieu de tout de suite faire deux foreach...
 
Bonne journée.

n°1204229
omega2
Posté le 21-09-2005 à 12:25:45  profilanswer
 

Pour apprendre comment réagissent les tableaux en php. :lol:

mood
Publicité
Posté le   profilanswer
 


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

  supprimer une ligne d'un tableau

 

Sujets relatifs
Tableau avec titres toujours visibles : FRAME ?comment centrer un tableau au millieu d'une page en css
tableau intRecharger table sql en ligne de commande
[java] récuperer un tableau html.position tableau °/ au fond avec css
[CSS] Adieu tableau, à moi la puissance du css [MAJ][Javascript]Comment faire un retour chariot dans une chaîne de tableau
Aligner 2 éléments sur 1 même ligne & background??Inserer les valeurs d'un tableau dans une base de données ?
Plus de sujets relatifs à : supprimer une ligne d'un tableau


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