Insertion et suppression dans un tableau multi-dimension

baallrog Messages postés 2 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 6 octobre 2006 - 6 oct. 2006 à 11:00
baallrog Messages postés 2 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 6 octobre 2006 - 6 oct. 2006 à 14:54
Bonjour à tous!


Voilà jai un petit problème en php :

j'ai un tableau à deux dimension donc je voudrai ssupprimer et/ou insérer des lignes !


voici mon code d'initialisation :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

$cpt = 0;

while($row = mysql_fetch_array($result))
{
$tableau[$cpt][0]=$row['debut'];
$tableau[$cpt][1]=$row['heure_fin'];
$tableau[$cpt][2]=$row['idtype_temps'];
$tableau[$cpt][3]=$row['num_dossier'];
$tableau[$cpt][4]=$row['duree'];
$cpt++;
}

<!-- END TEMPLATE: bbcode_code -->
Vous remarquerez que mes données proviennent d'une requetes mysql.


voici ma fonction d'insertion :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

function tab_insert($tab,$ligne,$indice)
{
global $tab;
$tab1 = array_slice ($tab, 0, $indice);
$tab2 = array_slice ($tab, $indice);
array_push ($tab1, $ligne);
$tab = array_merge ($tab1, $tab2);
}

<!-- END TEMPLATE: bbcode_code -->

voici comment j'appel ma fonction :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

tab_insert($tableau,$ligne,2)

<!-- END TEMPLATE: bbcode_code -->
$ligne est un tableau de 5 colonne que je veux ajouter.


Lorsque j'execute un tel script, la fonction array_slice plante en me
disant que $tab doit être du type tableau. Or lorsque je teste sont
type dans la fonction, $tab est bien du type tableau.


Donc soit j'utilise mal ma fonction ou alors arry_slice. Ou alors array_slice ne marche qu'avec des tableaux à une dimension.


Merci d'avance pour votre aide.


ps : Si mes information ne sont pas assez claires ou trop peu abondante dites le.

Dieu a créé l'Homme!
L'Homme a créé la programmation!
Et la prog ...
Bah on attend!!!

1 réponse

baallrog Messages postés 2 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 6 octobre 2006
6 oct. 2006 à 14:54
bon j'ai ma solution :

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

function tab_insert($tab,$val,$indice)
{
$tab_ini=array();
$tab_unique=array();
for($n=0;$n<count($tab);$n++)
{
$tab_ini[]=serialize($tab[$n]);
}
$val = serialize($val);
$tab1 = array_slice($tab_ini,0,$indice);
$tab2 = array_slice($tab_ini,$indice);
array_push($tab1,$val);
$tab_ini = array_merge($tab1,$tab2);

for($n=0;$n<count($tab_ini);$n++)
{
$tab_unique[]=unserialize($tab_ini[$n]);
}

foreach ($tab_unique as $key => $row)
{
if (!is_array($row))
{
unset($tab_unique[$key]);
}
}
return $tab_unique;
}

<!-- END TEMPLATE: bbcode_code -->

vala vala !!!

Dieu a créé l'Homme!
L'Homme a créé la programmation!
Et la prog ...
Bah on attend!!!
0
Rejoignez-nous