Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/03/2008, 19h06   #1
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut [Tableaux] fonction pour supprimer une ligne d'un tableau contenue dans une session

Bonjour je voudrais faire une suppression d'une ligne dans un tableau contenue dans une session.

creation d'un tableau de données et mise en session
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php
$a=array(0,0,0,0);
$sql=mysql_query("SELECT n_mess,titre,libele FROM mess");
$i=0;
$b=array();
while($rs=mysql_fetch_object($sql)){
                           $b[$i][0]=$rs->n_mess;
                           $b[$i][1]=$rs->titre;
                           $b[$i][2]=$rs->libele;
                           $i++;
                                   }$_SESSION['temp']=$b;
$c=$_SESSION['temp'];
$d=array_merge($a,$c);
$_SESSION['cache']=$d;
$e=sizeof($d);
$_SESSION['cache'][0]=$e;
unset($a);unset($_SESSION['temp']);
?>

Pour afficher les lignes contenues dans la session cache.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php 
echo $f[0];
//---------et
?>
<table>
<?php
$f=$_SESSION['cache'];
for($i=0;$i<=$f[0];$i++){
                $g=$f[$i][0];
                $h=$f[$i][1];
                $j=$f[$i][2];
    echo"<tr>
            <td>".$g."<td><td>".$h."<td><td>".$j."<td>
         </tr>";
                        }
?>
</table>
Pour Remplacer une donnée dans un tableau de donnée en session

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
<?php
//---remplacer une donnée seule
$f=$_SESSION['cache'];
$_SESSION['cache_d'][1]=1;
//----------------------------
 
//---pour remplacer une ligne la ligne 0--
$f=$_SESSION['cache'];
$k=0;
$l="titre a";
$m="libele a";
for($i=0;$i<=$f[0];$i++){
             if($k==$f[$i][0]){
                      $_SESSION['cache'][$i][1]=$m;
                      $_SESSION['cache'][$i][2]=$n;
                              }
                        }
//----------------------------------------
?>
Par contre pour supprimer une ligne la je coince pouvais vous m'aider ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
//----- supprimer une donnée
$f=$_SESSION['cache'];
$_SESSION['cache'][1]=0;
// par contre pour une ligne la, je coince exemple ligne 0
$f=$_SESSION['cache'];
$k=0;
for($i=0;$i<=$f[0];$i++){
             if($k==$f[$i][0]){
// la je sais pas quoi mettre !!!
                              }
                        }
?>
Merci d'avance !!!
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2008, 21h37   #2
Membre régulier
 
Inscription : décembre 2005
Messages : 305
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 305
Points : 86
Points : 86
Par défaut REP

J'y suis presque, j'arrive à effacer la ligne, car elle ne s'affiche plus mais par contre mon problème. En effet la ligne même effacée, elle est toujours en compte lorsque je fais un sizeof(); quelqu'un à une idée.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$n=30
$f=$_SESSION['cache'];
for($i=0;$i<=$f[0];$i++){
           if($n==$f[$i][0]){$ki=$f[$i][6];
                   unset($_SESSION['es'][$i][0]);
	      unset($_SESSION['es'][$i][1]);
                   unset($_SESSION['es'][$i][2]);
                   unset($_SESSION['es'][$i][3]);
                   unset($_SESSION['es'][$i][4]);
                   unset($_SESSION['es'][$i][5]);
	      unset($_SESSION['es'][$i][6]);
		                    }
                        }
$a=sizeof($f);echo"$a,$ki";
carmen256 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h09.


 
 
 
 
Partenaires

Hébergement Web