Outils pour utilisateurs

Outils du site


php_checkbox_requete_sql

Le but est de créer une case à cocher qui exécutera une action sur un résultat de requête SQL

Mise en condition :

Imaginons que l'on souhaite supprimer des éléments d'une base de donnée via une case à cocher type “checkbox”, le principe est de créer la requête en affichant les informations souhaitées issues de la base de donnée, d'intégrer dans le résultat de la requête une “checkbox” ainsi qu'un formulaire qui contiendra un bouton “submit” pour envoyer les données sous forme “d'array” vers un autre fichier qui traitera ces données.

1 - Création de la requête de type SELECT et intégration du formulaire et de la checkbox le tout en PHP.

<?php
// Affichage des erreurs
ini_set('display_errors', 1);

//Identifiant et mot de passe de la base de donnée affectés à des variables
$dbUser = "labardes";
$dbPass = "numba42!";

// Création d'une connexion à la base de donnée avec PDO
$db = new PDO ('mysql:host=localhost;dbname=coursweb',$dbUser,$dbPass);

// Création de la requete qui va tout chercher dans la base de donnée
$liste = $db->query("SELECT * FROM deleteFromDb");

// Création du formulaire qui contiendra le résultat de la requete ainsi qu'une case à cocher et un bouton "submit"
// On utilise "echo" pour ajouter une balise html dans php
echo "<form action='deleteCheckbox.php' method='post'>";

while ($data = $liste->fetch())
{
	// Ici on affecte à des variables le contenu du résultat de la requete, cela permettra d'inserer leurs valeurs pour la mise en forme via "echo"
	$id = $data['id'];
	$w = $data['maBoite'];
	// On utilise "echo" pour introduire du code html dans la balise php : echo '"<html>" . $maVariablePhp . "</html>"'; 
	echo " " . $id;
	echo " " . $w;
	// La checkbox avec un "name" entre crochet qui va recevor la valeur de $id
	echo '<input type="checkbox" name="check[]" value='.$id.'>';
	echo '<br/>';
}
// Le bouton pour envoyer les donnée à une autre page
echo "<input type='submit'></form>";
?>

2 - Traitement des informations depuis le fichier PHP qui reçois les informations.

<?php
// On affiche les erreurs
ini_set('display_errors',1);

// On affiche le contenu des tableaux "array" qui proviennent de la valeur insérée dans le "name" du formulaire qui nous envoie tout ça.
var_dump($_POST['check']);

// Affectation à une variable de ce que nous envoi le formulaire par le "name"
$id = $_POST['check'];

// Identifiant et mot de passe dans des variables
$dbUser = "labardes";
$dbPass = "numba42!";

// Création de la connexion à la base de donnée avec la gestion des erreurs
try
{
	$db = new PDO ('mysql:host=localhost;dbname=coursweb',$dbUser,$dbPass);
}

// Gestion des erreurs
catch (exception $e)
{
	die ('Erreur : ' . $e->getMessage());
}
// Création d'une boucle qui va parcourir le tableau "array" et appliquer la requete de suppression basé sur l'ID de la base de donnée
foreach ($id as $value){

// requete de suppression simple
$rep = "DELETE FROM `deleteFromDb` WHERE `id` = '$value' ";

// On lance la requete
$db->exec($rep);

}
unset($value);
?>
php_checkbox_requete_sql.txt · Dernière modification : (modification externe)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki