Problème d'insertion et modification dans base de données
Posté : 03 juin 2010, 10:09
Bonjour,
Je souhaite donc mettre en place un systeme d'administration pour mon site.
Je voudrais modifier les entreprises et pouvoir en rajouter (la requete supprimer fonctionne ! ...)
j'ai donc crée une base de donnée (je travaille en local)
nom de la table : entreprises (idEntreprise,nomEntreprise,desEntreprise,adEntreprise,telEntreprise,site)
j'ai donc les crée les 2 pages suivantes :
ajouter_entreprise.php
Je souhaite donc mettre en place un systeme d'administration pour mon site.
Je voudrais modifier les entreprises et pouvoir en rajouter (la requete supprimer fonctionne ! ...)
j'ai donc crée une base de donnée (je travaille en local)
nom de la table : entreprises (idEntreprise,nomEntreprise,desEntreprise,adEntreprise,telEntreprise,site)
j'ai donc les crée les 2 pages suivantes :
ajouter_entreprise.php
<?php
include('../config/config.php');
$connexion = mysql_connect(DB_HOST, DB_ROOT, DB_MDP);
$database = mysql_select_db(DB_BDD);
mysql_query("SET NAMES UTF8");
if ($connexion == false)
{
echo '<p>Echec de la connexion à la base de donnée</p>';
}
if (isset($_GET['modifier_entreprise'])) // Si on demande de modifier une entreprises
{
// On protege la variable "modifier_news" pour eviter une faille SQL
$_GET['modifier_entreprise'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_entreprise']));
// On reupere les infos de l' entreprises correspondante
$retour = mysql_query('SELECT * FROM entreprises WHERE idEntreprise=\'' . $_GET['modifier_entreprise'] . '\'');
$donnees = mysql_fetch_array($retour);
// On place des variables simples
$nomEntreprise = stripslashes($donnees['nomEntreprise']);
$desEntreprise = stripslashes($donnees['desEntreprise']);
$adEntreprise = stripslashes($donnees['adEntreprise']);
$telEntreprise = stripslashes($donnees['telEntreprise']);
$site = stripslashes($donnees['site']);
$idEntreprise = $donnees['idEntreprise']; // Cette variable va servir pour se souvenir que c'est une modification
}
else // C'est qu'on ajoute une nouvelle entreprise
{
// Les variables sont vides, puisque c'est une nouvelle entreprise
$nomEntreprise = '';
$desEntreprise = '';
$adEntreprise = '';
$telEntreprise = '';
$site = '';
$idEntreprise = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification
}
?>
<form action="liste_entreprise.php" method="post">
<p>Nom : <input type="text" size="30" name="nom" value="<?php echo $nomEntreprise; ?>" /></p>
<p>
Domaine :<br />
<textarea name="desEntreprise" cols="50" rows="5">
<?php echo $desEntreprise; ?>
</textarea><br />
<p>Adresse : <input type="text" size="80" name="adEntreprise" value="<?php echo $adEntreprise; ?>" /></p>
<p>Telephone : <input type="text" size="30" name="telEntreprise" value="<?php echo $telEntreprise; ?>" /></p>
<p>Site Web : <input type="text" size="70" name="site" value="<?php echo $site; ?>" /></p>
<input type="hidden" name="idEntreprise" value="<?php echo $idEntreprise; ?>" />
<input type="submit" value="Envoyer" />
</p>
</form>
</body>
</html>
liste_entreprise.php
<?php
include('../config/config.php');
$connexion = mysql_connect(DB_HOST, DB_ROOT, DB_MDP);
$database = mysql_select_db(DB_BDD);
mysql_query("SET NAMES UTF8");
if ($connexion == false)
{
echo '<p>Echec de la connexion à la base de donnée</p>';
}
//-----------------------------------------------------
// Vérification 1 : est-ce qu'on veut ajouter une entreprise ?
//-----------------------------------------------------
if (isset($_POST['nomEntreprise']) AND isset($_POST['desEntreprise']) AND isset($_POST['adEntreprise']) AND isset($_POST['telEntreprise']) AND isset ($_POST['site']))
{
$nomEntreprise = addslashes($_POST['nomEntreprise']);
$desEntreprise = addslashes($_POST['desEntreprise']);
$adEntreprise = addslashes($_POST['adEntreprise']);
$telEntreprise = addslashes($_POST['telEntreprise']);
$site = addslashes($_POST['site']);
// On vérifie si c'est une modification d'entreprise ou pas
if ($_POST['idEntreprise'] == 0)
{
// Ce n'est pas une modification, on crée une nouvelle entrée dans la table
mysql_query("INSERT INTO entreprises VALUES('', '" . $nomEntreprise . "', '" . $desEntreprise . "', '" . $adEntreprise . "', '" . $telEntreprise . "','".$site."')");
}
else
{
// On protége la variable "idEntreprise" pour éviter une faille SQL
$_POST['idEntreprise'] = addslashes($_POST['idEntreprise']);
// C'est une modification, mise à jour !
mysql_query("UPDATE entreprises SET nomEntreprise='" . $nomEntreprise . "', desEntreprise='" . $desEntreprise . "', adEntreprise='" . $adEntreprise . "', telEntreprise='" . $telEntreprise . "', site='" . $site . "' WHERE idEntreprise='" . $_POST['idEntreprise'] . "'");
}
}
//--------------------------------------------------------
// Vérification 2 : est-ce qu'on veut supprimer une entreprises ?
//--------------------------------------------------------
if (isset($_GET['supprimer_entreprise'])) // Si on demande de supprimer une entreprises
{
// Alors on supprime l'entreprise correspondante
// On protége la variable "idEntreprise" pour éviter une faille SQL
$_GET['supprimer_entreprise'] = addslashes($_GET['supprimer_entreprise']);
mysql_query('DELETE FROM entreprises WHERE idEntreprise=\'' . $_GET['supprimer_entreprise'] . '\'');
}
?>
<table><tr>
<th>Modifier</th>
<th>Supprimer</th>
<th>Nom</th>
<th>Domaine</th>
<th>Adresse</th>
</tr>
<?php
$retour = mysql_query('SELECT * FROM entreprises');
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les entreprises
{
?>
<tr>
<td><?php echo '<a href="ajouter_entreprise.php?modifier_entreprise=' . $donnees['idEntreprise'] . '">'; ?>Modifier</a></td>
<td><?php echo '<a href="liste_entreprise.php?supprimer_entreprise=' . $donnees['idEntreprise'] . '">'; ?>Supprimer</a></td>
<td><?php echo stripslashes($donnees['nomEntreprise']); ?></td>
<td><?php echo stripslashes($donnees['desEntreprise']); ?></td>
<td><?php echo stripslashes($donnees['adEntreprise']); ?></td>
</tr>
<?php
} // Fin de la boucle qui liste les entreprises
?>
</table>
</body>
</html>
Merci.