1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| <!DOCTYPE html>
<html>
<meta charset="utf-8" />
<head>
<title>RBP Affiche et Modifie sur liste déroulante</title>
</head>
<body>
<h2>Modification de la liste RBP</h2>
<p>Sélectionner intitulé RBP</p>
<p>=>Formulaire 1 :</p>
<form name="affiche" action="" method="POST">
<?php
// pour faire un menu déroulant présenter les différentes rubriques
echo "<select name='rbp' onChange='FocusObjet()'>";
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$pdo_options[PDO::ATTR_EMULATE_PREPARES] = false; //important sur les configs récentes
$pdo_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8"; //pour l'utf-8
$pdo_options[PDO::MYSQL_ATTR_USE_BUFFERED_QUERY] = true;
$bdd = new PDO('mysql:host=localhost;dbname=dbbase', 'root', '', $pdo_options);
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
$reponse = $bdd->query('SELECT DISTINCT rbp FROM trbp');
echo "<OPTION SELECTED VALUE='RBP à sélectionner'>RBP</OPTION>";
while ($donnees = $reponse->fetch())
{
$rbp = (string)$donnees['rbp'];
echo "<OPTION VALUE='$rbp'> $rbp </OPTION>\n";
}
echo "</select>";
?>
<table width="300" border="0">
<tr>
<td><input type="reset" value="Effacer" style="position:relative;left:10"></td>
<td><input type="submit" value="Afficher les données RBP" style="position:relative;left:10"></td>
</tr>
</table>
</form>
<?php
/* Connexion à la base de données */
include("connexion.inc.php");
// On récupère tout le contenu de la table trbp (de dbbase où l'on s'est connecté)
// Les valeurs utilisées dans la requête sont marqués avec le ? espace réservé
$reponse = $dbh->prepare('SELECT * FROM trbp WHERE rbp = ?');
// Exécuter la requête. Passez à l'un tableau énumérant les valeurs à utiliser dans la requête
$reponse->execute(array($_POST['rbp']));
// Obtenir les résultats
$results = $reponse->fetchAll();
foreach ($results as $row) {
print '<p><b>Voici l\'enregistrement à modifier :</b><br/>RBP : '.$row['rbp'].' <br />Id RBP :'.$row ['id_rbp'].'<br />Programme : '.$row['id_programme'].'</p>';
}
?>
<p>=>Formulaire 2 :</p>
<form name="update" action="" method="POST">
<?php
$message = ''; // fonctionne si supprimé
$id_rbp = ''; // fonctionne si supprimé
$rbp = ''; // fonctionne si supprimé
$id_programme = ''; // fonctionne si supprimé
// La page d'insertion
if ( isset( $_POST['rbp'])) {
/* Connexion à la base de données avec PDO */
include("connexion.inc.php"); // fonctionne si supprimé
$rbp = $_POST['rbp'];
/* "SELECT" étoile => On sélectionne tous les champs "FROM" de la table rbp */
$sql = "SELECT * FROM trbp";
$resultat = $dbh->query($sql);
/* echo : Liste des enregistrements*/
while ($row = $resultat->fetch(PDO::FETCH_ASSOC)) {
If ($row['rbp'] == $rbp) /* Si vrai on exécute ce qui se trouve entre les crochets */
{
$id_rbp = $row['id_rbp'];
$rbp = $row['rbp'];
$id_programme = $row['id_programme'];
}}
/* echo $id_programme and UPDATE */
if ( isset( $_POST['id_programme'] )) {
if ( $_POST['id_programme'] != '') {
$id_programme = $_POST['id_programme'];
// Avec une requête préparée
$req = $dbh->prepare('UPDATE trbp SET id_programme = :id_programme WHERE rbp = :rbp');
$req->execute(array('rbp' => $rbp,'id_programme' => $id_programme));
}}
// Fermeture de la connexion
$dbh = NULL;
}else{
$message = '<span style="color: red"> => Sélectionner un RBP</span>';
}
if ( $rbp != '' ) {
$message = '<span style="color: red"> Intitulé RBP sélectionné :</span>';
}
?>
<p>=>Repère 3 :</p>
<p><?php echo '<span style="color: red">'.$message.'</span>' ?><br><?php print $rbp; ?></p>
<p><b>Entrez les nouvelles données ci-dessous, puis cliquez sur 'Modifier' :</b></p>
<p>Modifiez id_programme : <input type="text" name="id_programme" row="3" size="3" maxlength="3" value="<?php print $id_programme; ?>"> puis cliquez sur 'Modifier'</p>
<table width="300" border="0">
<tr>
<td><input type="reset" value="Annuler" style="position:relative;left:10"name="Lien_index" onclick="self.location.href='../after/index.php'"></td>
<td><input type="submit" value="Modifier les données du RBP" style="position:relative;left:10"></td>
</tr>
</table>
</form>
</body>
</html> |
Partager