le 25/11/2003 à 08:38
seb
salut tt le monde,
j'ai un léger souci avec la fonction unset() de php sur un tableau :
j'ai une liste d'email dans un tableau , que j'affiche avec un foreach($tab as $index=> $tmp) pour avoir les index qui pointent sur une fonction del(index) en javascript.
cette dernière attribue la valeur de l'index à un champ caché "moins".
en testant $moins en php, je vois s'il est nul ou non. Si non , je fais un unset sur mon tableau de email...
Le problème, c'est que le tableau est construit via un explode sur la chaine de caractère "email1,email2,email3" passée en champ caché "email". lorsque je fais le unset sur un index autre que le dernier élément du tableau, les autres index ne correspondent plus aux mails initiaux et tout plante ( genre, il faut que je supprime 2 fois un mail : la 1ere il passe de l'index 1 à 0, puis il est vraiment effacé du tableau.... )
en plus, je fais mon foreach APRES le unset et les clés et les valeurs du tableau ne correspondent pas !!!
une idée ???
merci d'avance !
les extraits de mon code :
JAVASCRIPT :
<script>
function del(i)
{
document.form1.moins.value=i;
}
</script>
PHP:
if($moins != "")
{
$tab = explode(",",$email);
unset($tab[$moins]);
}
après je fais l'affichage :
foreach ($tab as $index => $temp )
{
echo $temp;
echo "<a href=\"javascript:del(".$index.")\">supprimer</a>";
}
mon champ caché email :
<INPUT type=hidden name=email value="<? echo join(",",$tab); ?>">
j'ai un léger souci avec la fonction unset() de php sur un tableau :
j'ai une liste d'email dans un tableau , que j'affiche avec un foreach($tab as $index=> $tmp) pour avoir les index qui pointent sur une fonction del(index) en javascript.
cette dernière attribue la valeur de l'index à un champ caché "moins".
en testant $moins en php, je vois s'il est nul ou non. Si non , je fais un unset sur mon tableau de email...
Le problème, c'est que le tableau est construit via un explode sur la chaine de caractère "email1,email2,email3" passée en champ caché "email". lorsque je fais le unset sur un index autre que le dernier élément du tableau, les autres index ne correspondent plus aux mails initiaux et tout plante ( genre, il faut que je supprime 2 fois un mail : la 1ere il passe de l'index 1 à 0, puis il est vraiment effacé du tableau.... )
en plus, je fais mon foreach APRES le unset et les clés et les valeurs du tableau ne correspondent pas !!!
une idée ???
merci d'avance !
les extraits de mon code :
JAVASCRIPT :
<script>
function del(i)
{
document.form1.moins.value=i;
}
</script>
PHP:
if($moins != "")
{
$tab = explode(",",$email);
unset($tab[$moins]);
}
après je fais l'affichage :
foreach ($tab as $index => $temp )
{
echo $temp;
echo "<a href=\"javascript:del(".$index.")\">supprimer</a>";
}
mon champ caché email :
<INPUT type=hidden name=email value="<? echo join(",",$tab); ?>">