Bonjour,
Je rencontre un petit problème avec les checkbox, car je souhaite utiliser les mêmes checkbox pour plusieurs bouttons qui sont des input sans submit, dans un form avec action vers un fichier de traitement php, le quatrième buttons ne fonctionne pas car je ne sais pas comment le traiter avec l'id.
J'ai 4 buttons
1 button pour delete d'une entrée de db
2 buttons Update d'une entrée de db
1 button pour telecharger des fichier zip, j'ai donc un probleme avec ce button car je ne sais pas comment utiliser le name du input pour celui-ci pour les autres j'utilise l'id mais pour lui je souhaite utiliser le nom de fichier
Voila si quelqu'un a compris ce que je recherche a faire merci d'avance:
Voici la partie HTML:
la petite partie JS:
Et voici la partie PHP:
Je rencontre un petit problème avec les checkbox, car je souhaite utiliser les mêmes checkbox pour plusieurs bouttons qui sont des input sans submit, dans un form avec action vers un fichier de traitement php, le quatrième buttons ne fonctionne pas car je ne sais pas comment le traiter avec l'id.
J'ai 4 buttons
1 button pour delete d'une entrée de db
2 buttons Update d'une entrée de db
1 button pour telecharger des fichier zip, j'ai donc un probleme avec ce button car je ne sais pas comment utiliser le name du input pour celui-ci pour les autres j'utilise l'id mais pour lui je souhaite utiliser le nom de fichier
Voila si quelqu'un a compris ce que je recherche a faire merci d'avance:
Voici la partie HTML:
<?php while($stages = $stmt->fetch(PDO::FETCH_OBJ)) { ?>
<tr>
<td><input type="checkbox" class="chkCheckBoxId" value="<?php echo $stages->id; ?><?php echo $stages->filename; ?>" name="id[]"/>
</td>
<td><?php echo $stages->nomstage; ?></td>
<td><?php echo $stages->numstage; ?></td>
<td><?php if ($stages->CourseId == 0) {
echo "Standard Exercise Course";
}elseif ($stages->CourseId == 1) {
echo "Short Course";
}elseif ($stages->CourseId == 2) {
echo "Medium Course";
}elseif ($stages->CourseId == 3) {
echo "Long Course";
} ?>
</td>
<td><?php echo $stages->MaxPoints; ?></td>
<td><?php echo $stages->matchsid; ?></td>
<td><?php echo $stages->date_creation_stage; ?></td>
</tr>
<?php } ?>
<form method="post" action="actionsmultiples.php"><br>
<div class="buttons" style="text-align: center;display: inline-flex;">
<button name="buttonShare" title="Partager un ou plusieurs stages" class="btn btn-info shareall" value="shareall" onclick="return confirm('Are you sure you want to share in AllStages?')">Share</button>
<button name="buttonUnShare" title="Ne plus Partager un ou plusieurs stages" class="btn btn-info unshareall" value="unshareall" onclick="return confirm('Are you sure you want to unshare in AllStages?')">Unshare</button>
<button name="buttonDownload" title="telecharger un ou plusieurs stages" class="btn btn-info downstages" value="daownstage" onclick="return confirm('Are you sure you want to download stages zip?')">Download stages</button>
<button style="margin-top: 40px!important;" name="buttonDelete" title="Supprimer un ou plusieurs stages" class="btn btn-info supstage" value="Delete" onclick="return confirm('Are you sure you want to delete stages?')">Delete</button>
</div>
la petite partie JS:
$(document).ready(function() {
$('#checkBoxAll').click(function() {
if ($(this).is(":checked"))
$('.chkCheckBoxId').prop('checked', true);
else
$('.chkCheckBoxId').prop('checked', false);
});
});
Et voici la partie PHP:
<?php
session_start();
include 'inc/bdd.php';
//Suppression de plusieurs stage
if(isset($_POST['buttonDelete'])) {
if(isset($_POST['id'])) {
foreach ($_POST['id'] as $id) {
$delStages = $bdd->prepare('DELETE FROM stages where id = :id');
$delStages->bindValue('id', $id);
$delStages->execute();
$delStages = $bdd->prepare('SELECT * FROM stages');
$delStages->execute();
$_SESSION['message'] = "Les stages ont bien été supprimés";
header("Location:profil.php?id={$_SESSION['id']} ");
}
}
}
?>
<?php
//Partager plusieurs stage dans Allstages
if(isset($_POST['buttonShare'])) {
if(isset($_POST['id'])) {
foreach ($_POST['id'] as $id) {
$shareStages = $bdd->prepare('UPDATE stages SET showall =1 WHERE id = :id');
$shareStages->bindValue('id', $id);
$shareStages->execute();
$shareStages = $bdd->prepare('SELECT * FROM stages');
$shareStages->execute();
$_SESSION['message'] = "Les stages ont bien été partagés dans Allstages";
header("Location:profil.php?id={$_SESSION['id']} ");
}
}
}
?>
<?php
//Ne plus Partager les plusieurs stage dans Allstages
if(isset($_POST['buttonUnShare'])) {
if(isset($_POST['id'])) {
foreach ($_POST['id'] as $id) {
$unshareStages = $bdd->prepare('UPDATE stages SET showall =0 WHERE id = :id');
$unshareStages->bindValue('id', $id);
$unshareStages->execute();
$unshareStages = $bdd->prepare('SELECT * FROM stages');
$unshareStages->execute();
$_SESSION['message'] = "Les stages ne sont plus partagés dans Allstages";
header("Location:profil.php?id={$_SESSION['id']} ");
}
}
}
?>
<?php
if (isset($_POST['buttonDownload']))
$file_folder = "membres/stages/";
$filename = $_POST['filename'];
{
$zip = new ZipArchive();// Load zip librairy
if ($zip->open("stages.zip", ZIPARCHIVE::CREATE))
{
foreach ($filename as $file) // membres/stages
{
$zip->addFile($file_folder.$file); // Adding filename into zip
}
$zip->close();
//push to download the zip
header('Content-Transfer-Encoding: binary');
header('Content-Disposition: attachement; filename="stages.zip"');
header('Content-type: application/zip');
readfile($zip_name);
//Remove zip file is exists in temp path
unlink($zip_name);
exit();
}
}
?>