[RESOLU] supression d'un array

Eléphant du PHP | 187 Messages

31 juil. 2012, 13:17

salut,
j'ai un petit problème et je souhaite m'aider Svp,j'explique:
sur une page de recherche,j'ai ajouter un btn de suppression pour donner la main à l'utilisateur de supprimer de la table ce qui est afficher alors j'ai programmé ça et tout va bien sauf que la suppression ne se fait pas et je sais pas pourquoi merci si vous pouvez me guider!

le code sur ma 1er page,il y a un btn supprimer pour effacer de la table la liste affichée comme suite :
<a href="supp.php?dd=<?php echo $dd; ?>" onclick="return(confirm('Etes-vous sur de vouloir supprimer cette liste?'));">Supprimer</a>
 
  <table width="63%" height="30" border="1" cellspacing="0" bgcolor="#ffffff">
  <tr>
<th bgcolor="#FFFFCC"><span class="style13 style6">Medecin</span></th>
<th bgcolor="#FFFFCC" class="style13 style6">Liste</th>
<th bgcolor="#FFFFCC" class="style5 style12 style6">region</th>
<th bgcolor="#FFFFCC"><span class="style13 style6">ville</span></th>
<th bgcolor="#FFFFCC" class="style13 style6">secteur</th>
<th bgcolor="#FFFFCC"><span class="style13 style6">cycle visite</span></th>
<th bgcolor="#FFFFCC" class="style13 style6">date_affectation</th>
<th width="61" bgcolor="#FFFFCC"><span class="style12 style15 style14 style7 style9">Supprimer:</span></th>
<th width="69" bgcolor="#FFFFCC"><span class="style15 style12 style14 style7 style9">Modifier:</a></span></tr>
</tr>
<?php
[php]$requete="SELECT * FROM aff WHERE liste LIKE '$liste' and nom LIKE '$nom' " ;
$resultat=mysql_query($requete) or die ("Problème lors de la requête. Erreur: ".mysql_error());
$dd=array(); //init de l'array
$ligne=0;
while ($row=mysql_fetch_array($resultat)){
 $dd[$ligne]['id_aff']=$row['id_aff'];
 $dd[$ligne]['nom']=$row['nom'];
 $dd[$ligne]['liste']=$row['liste'];
 $ligne++;
 echo' <tr>
<td style="color:#4e7eeb;font-size:12">'.$row['nom'].'</td>
	<td style="color:#4e7eeb;font-size:12">'.$row['liste'].'</td>
	<td style="color:#4e7eeb;font-size:12">'.$row['region'].'</td>
	<td style="color:#4e7eeb;font-size:12">'.$row['ville'].'</td>
	<td style="color:#4e7eeb;font-size:12">'.$row['secteur'].'</td>
    <td style="color:#4e7eeb;font-size:12">'.$row['cyc_visite'].'</td>
	<td style="color:#4e7eeb;font-size:12">'.$row['datetime'].'</td>
	<td> <a href="?do=a_cycle&action=35&delete='.$row['id_aff'].'"><img src="images/sup.png" border="0"></a> </td>
<td width="57"><a href=?do=motif_cycle&action=33&id_aff='.$row['id_aff'].'"><img src="images/modif1.gif" border="0"></a></td> </tr>';
	}

if(sizeof($dd)>0){//si il n'est pas vide
 foreach($dd as $cle1=>$s_array){ 
   echo "à l'index ".$cle1." le contenu du sous array :<br />";
  foreach($s_array as $clef2=>$value){
   echo "le champ bdd ".$clef2." contient ".$value."<br />";	

  }
 }
}
[/php]
Et sur la 2eme page,je vexu effectuter la suppression comme suite :
<?php
 session_start();
include("connexion.php");
$dd = $_SESSION['dd'];
echo '<pre>';
print_r($dd);
echo '</pre>';
 $ids = $_SESSION['dd'];
foreach($ids as $id){
   mysql_query('DELETE FROM aff WHERE id_aff='.intval($id));
}
?>

Mammouth du PHP | 702 Messages

31 juil. 2012, 13:22

tu as un message d'erreur?

ViPHP
xTG
ViPHP | 7331 Messages

31 juil. 2012, 13:23

Pourquoi $_SESSION alors que l'information dd est transmise dans l'url ?

Eléphant du PHP | 187 Messages

31 juil. 2012, 13:28

tu as un message d'erreur?
non j'ai rien!je veux d'abord s'assurer est vraiment la requete de suppression est correct ? cad c'est comme ça que je dois supprimer le contenu de mon array ?

Eléphant du PHP | 187 Messages

31 juil. 2012, 13:29

Pourquoi $_SESSION alors que l'information dd est transmise dans l'url ?
parce que dans l'url ça retourne rien que : ../supp.php?dd=

Mammouth du PHP | 702 Messages

31 juil. 2012, 13:30

donc ça veut dire que ton paramètre n'est pas transmis et que ta variable ne contient rien.

ViPHP
xTG
ViPHP | 7331 Messages

31 juil. 2012, 13:31

Pourquoi $_SESSION alors que l'information dd est transmise dans l'url ?
parce que dans l'url ça retourne rien que : ../supp.php?dd=
Pas faudrait peut être commencer par corriger le lien alors si tu veux pas faire supprimer tout et n'importe quoi. ^^
Si rien dans l'url c'est que la variable utilisée est vide.

Eléphant du PHP | 187 Messages

31 juil. 2012, 13:36

donc ça veut dire que ton paramètre n'est pas transmis et que ta variable ne contient rien.
mais avec ça print_r($dd); il me récupère bien l'array:
(
[0] => Array
(
[id_aff] => 373
[nom] => xxx ss
[liste] => liste1
)

[1] => Array
(
[id_aff] => 374
[nom] => dd hjj
[liste] => liste1
)
il me reste que comment supprimer ce contenu ? :shock:

Eléphant du PHP | 187 Messages

31 juil. 2012, 13:41

Pourquoi $_SESSION alors que l'information dd est transmise dans l'url ?
parce que dans l'url ça retourne rien que : ../supp.php?dd=
Pas faudrait peut être commencer par corriger le lien alors si tu veux pas faire supprimer tout et n'importe quoi. ^^
Si rien dans l'url c'est que la variable utilisée est vide.
j'ai essayé ça : <a href="supp.php?id_aff=<?php echo $dd['id_aff']; ?>"
mais toujours = vide

Eléphant du PHP | 53 Messages

31 juil. 2012, 14:45

Bonjour,

Remontons le problème :
parce que dans l'url ça retourne rien que : ../supp.php?dd=
Pas faudrait peut être commencer par corriger le lien alors si tu veux pas faire supprimer tout et n'importe quoi. ^^
Si rien dans l'url c'est que la variable utilisée est vide.
j'ai essayé ça : <a href="supp.php?id_aff=<?php echo $dd['id_aff']; ?>"
mais toujours = vide
Donc tu n'a aucune valeur dans '$dd['id_aff']' comment le remplis tu ?

Cordialement.
Ce n'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison.

Eléphant du PHP | 187 Messages

31 juil. 2012, 15:31

bon merci je pense que c'est résolu avec :
foreach( $dd as $value )  {
	mysql_query("DELETE FROM aff WHERE id_aff='".$value['id_aff']."'");
}
sur la page supp ;)