Anda di halaman 1dari 3

Fiche de code : lments statiques ou dynamiques

dans un formulaire PHP avec connexion BdD

Premier cas : code pour rcuprer les valeurs


dune liste multiple
(exemple de choix d'occasion pour faire des cadeaux)
<select name="occasion[]" multiple size="5">
<option value="1">Anniversaire</option>
<option value="2">Fte des mres</option>
<option value="3">Fte des pres</option>
<option value="4">Saint valentin</option>
<option value="5">Toute occasion</option>
</select>

important le nom du select doit tre suivit de crochets ouvrant/fermant


"nomselect[]"
il faut indiquer l'attribut multiple dans le select
ensuite dans une autre page : rcupration des donnes :
if(isset($_POST['occasion']) && !empty($_POST['occasion'])){
$Col1_Array = $_POST['occasion'];
print_r($Col1_Array);
foreach($Col1_Array as $selectValue){
//affichage des valeurs slectionnes
echo $selectValue."<br>";
}
}

la variable reprsentant le select se rcupre comme une variable une valeur. le


print_r permet de s'appercevoir que cette variable est une tableau.

Deuxime cas : code pour crer une checkbox


dynamique
Lexemple ici recherche dans une bdd les utilisateurs qui nont pas demail
pour en faire une checkbox dans un formulaire afin de choisir les
utilisateurs que lon veut liminer.
$requete = mysql_query("SELECT utilisateur_id,utilisateur_login FROM
utilisateur WHERE utilisateur_email='noMail';");
<form action="suppressionUtilisateur2.php" method="post">
<?php
while ($donnees = mysql_fetch_array($requete)){
?>

<input type="checkbox" name="suppression[]" id="<?php echo


$donnees['utilisateur_id'] ?>" value="<?php echo
$donnees['utilisateur_id'] ?>"/>
<label for="<?php echo $donnees['utilisateur_id'] ?>">
<?php
?>
</label>
<?php
}
?>
Attention, ceci va supprimer dfinitivement la totalit des
informations concernant cet utilisateur!
<input type="submit" value="Supprimer" name="supprimer"/>
</form>

Troisime cas : code pour crer une liste


droulante dynamique
Dans une page exo8A.php, faire un formulaire incluant une liste droulante dynamique affichant les noms
des administrateurs dun site. Les donnes noms des administrateurs proviennent dune base de donnes.
La donnes transmise dans la page suivante (action = exo8B.php) par la mthode get doit tre
lidentifiant de ladministrateur slectionn.
La page suivante affichera toutes les infos de ladministrateur slectionn.

<?php
//paramtre de connexion au serveur de base de donnes et nom de la base
$serveur_db = 'localhost';
$user_db = 'root';
$pass_db = '';
$base_db = 'filrouge';
// 1-connexion au serveur
//**************************************
$connnect = mysql_connect($serveur_db, $user_db, $pass_db);
if(!$connnect){
echo 'echec serveur'; exit();
}
// 2- choix de la base
//**************************************
$db = mysql_select_db($base_db);
if(!$db){
echo 'echec base'; exit();
}
// 3- creation de la requete et exccution de la requete
//**************************************
$query = "SELECT id_a, nom_a FROM administrateurs";
$result = mysql_query($query) or die (mysql_error());

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Choix de l'administrateur</title>
</head>
<body>
<form action="exo8B.php" method="get">
<p>Choisissez un administrateur : <select name="truc">
<?php
while($line = mysql_fetch_assoc($result)){
echo '<option value="'.$line['id_a'].'">'.$line['nom_a'].'</option>';
}
?>
</select>
</p>
<p><input type="submit" value="Voir les infos" /></p>
</form>
</body>
</html>

Anda mungkin juga menyukai