par
allhambra64 » 07 sept. 2015, 12:06
Bonjour,
je tente une suppression multiple via case à cocher dans un formulaire, mais la validation me renvoie une erreur sql.
<form id="form1" name="form1" method="post" action="">
<table width="100%" border="0" cellpadding="5">
<tr>
<td>Nom</td>
<td>Prénon</td>
<td>Login</td>
<td>ID</td>
<td><img src="../img/delete.gif" width="16" height="16" /></td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['lastname']; ?></td>
<td><?php echo $row_Recordset1['firstname']; ?></td>
<td><?php echo $row_Recordset1['username']; ?></td>
<td><?php echo $row_Recordset1['user_id']; ?></td>
<td>
<input name="suppr[]" type="checkbox" id="suppr" value="<?php echo $row_Recordset1['login_user_id']; ?>" />
</td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
<tr>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td><input type="submit" value="Supprimer" /></td>
</tr>
</table>
</form>
<?php
if (isset($_POST['suppr'])) {
mysql_select_db($database_chamilo, $chamilo);
$ids = implode(', ', $_POST['suppr']);
//echo $ids.'<br>';
$supprimer = "
DELETE FROM user` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_result` WHERE `gradebook_result.user_id` IN(".$ids.");
DELETE FROM `gradebook_result_log` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_linkeval_log` WHERE `user_id_log` IN(".$ids.");
DELETE FROM `gradebook_link` WHERE `user_id` IN ($ids);
DELETE FROM `gradebook_certificate` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_evaluation` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_category` WHERE `user_id` IN(".$ids.");
DELETE FROM `group_rel_user` WHERE `user_id` IN(".$ids.");
DELETE FROM `notification` WHERE `dest_user_id` IN(".$ids.");
DELETE FROM `message` WHERE `user_sender_id` IN(".$ids.") OR `user_receiver_id` IN(".$ids.");
DELETE FROM `track_e_attempt` WHERE `user_id` IN(".$ids.");
DELETE FROM `track_e_access` WHERE `access_user_id` IN(".$ids.");
DELETE FROM `track_e_course_access` WHERE `user_id` IN(".$ids.");
DELETE FROM `track_e_default` WHERE `default_user_id` IN(".$ids.");
DELETE FROM `track_e_hotspot` WHERE `hotspot_user_id` IN(".$ids.");
DELETE FROM `track_e_exercices` WHERE `exe_user_id` IN(".$ids.");
DELETE FROM `track_e_downloads` WHERE `down_user_id` IN(".$ids.");
DELETE FROM `track_e_links` WHERE `links_user_id` IN(".$ids.");
DELETE FROM `track_e_lastaccess` WHERE `access_user_id` IN(".$ids.");
DELETE FROM `track_e_online` WHERE `login_user_id` IN(".$ids.");
DELETE FROM `track_e_login` WHERE `login_user_id` IN(".$ids.");
DELETE FROM `user_field_values` WHERE `user_id` IN(".$ids.");
DELETE FROM `track_e_uploads` WHERE `upload_user_id` IN(".$ids.");
DELETE FROM `user_course_category` WHERE `user_id` IN(".$ids.");
DELETE FROM `user_rel_user` WHERE `user_id` IN(".$ids.") OR `friend_user_id` IN(".$ids.")
";
mysql_query($supprimer, $chamilo) or die('Erreur SQL !'.$supprimer.'<br />'.mysql_error().'<br />');
// on affiche le résultat pour le visiteur
echo 'Vos infos on été supprimées.';
}
?>
Bonjour,
je tente une suppression multiple via case à cocher dans un formulaire, mais la validation me renvoie une erreur sql.
<form id="form1" name="form1" method="post" action="">
<table width="100%" border="0" cellpadding="5">
<tr>
<td>Nom</td>
<td>Prénon</td>
<td>Login</td>
<td>ID</td>
<td><img src="../img/delete.gif" width="16" height="16" /></td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['lastname']; ?></td>
<td><?php echo $row_Recordset1['firstname']; ?></td>
<td><?php echo $row_Recordset1['username']; ?></td>
<td><?php echo $row_Recordset1['user_id']; ?></td>
<td>
<input name="suppr[]" type="checkbox" id="suppr" value="<?php echo $row_Recordset1['login_user_id']; ?>" />
</td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
<tr>
<td></td>
<td> </td>
<td> </td>
<td> </td>
<td><input type="submit" value="Supprimer" /></td>
</tr>
</table>
</form>
<?php
if (isset($_POST['suppr'])) {
mysql_select_db($database_chamilo, $chamilo);
$ids = implode(', ', $_POST['suppr']);
//echo $ids.'<br>';
$supprimer = "
DELETE FROM user` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_result` WHERE `gradebook_result.user_id` IN(".$ids.");
DELETE FROM `gradebook_result_log` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_linkeval_log` WHERE `user_id_log` IN(".$ids.");
DELETE FROM `gradebook_link` WHERE `user_id` IN ($ids);
DELETE FROM `gradebook_certificate` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_evaluation` WHERE `user_id` IN(".$ids.");
DELETE FROM `gradebook_category` WHERE `user_id` IN(".$ids.");
DELETE FROM `group_rel_user` WHERE `user_id` IN(".$ids.");
DELETE FROM `notification` WHERE `dest_user_id` IN(".$ids.");
DELETE FROM `message` WHERE `user_sender_id` IN(".$ids.") OR `user_receiver_id` IN(".$ids.");
DELETE FROM `track_e_attempt` WHERE `user_id` IN(".$ids.");
DELETE FROM `track_e_access` WHERE `access_user_id` IN(".$ids.");
DELETE FROM `track_e_course_access` WHERE `user_id` IN(".$ids.");
DELETE FROM `track_e_default` WHERE `default_user_id` IN(".$ids.");
DELETE FROM `track_e_hotspot` WHERE `hotspot_user_id` IN(".$ids.");
DELETE FROM `track_e_exercices` WHERE `exe_user_id` IN(".$ids.");
DELETE FROM `track_e_downloads` WHERE `down_user_id` IN(".$ids.");
DELETE FROM `track_e_links` WHERE `links_user_id` IN(".$ids.");
DELETE FROM `track_e_lastaccess` WHERE `access_user_id` IN(".$ids.");
DELETE FROM `track_e_online` WHERE `login_user_id` IN(".$ids.");
DELETE FROM `track_e_login` WHERE `login_user_id` IN(".$ids.");
DELETE FROM `user_field_values` WHERE `user_id` IN(".$ids.");
DELETE FROM `track_e_uploads` WHERE `upload_user_id` IN(".$ids.");
DELETE FROM `user_course_category` WHERE `user_id` IN(".$ids.");
DELETE FROM `user_rel_user` WHERE `user_id` IN(".$ids.") OR `friend_user_id` IN(".$ids.")
";
mysql_query($supprimer, $chamilo) or die('Erreur SQL !'.$supprimer.'<br />'.mysql_error().'<br />');
// on affiche le résultat pour le visiteur
echo 'Vos infos on été supprimées.';
}
?>