Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/11/2007, 12h55   #1
Membre régulier
 
Inscription : février 2007
Messages : 509
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 509
Points : 89
Points : 89
Par défaut [SQL] Modification d'une table SQL

Bonjour voila mon probléme j'ai une page qui affiche ma table personnel sql mais et un lien modifier à coté des champs qui renvoi a une page pour effectué la modification de l'entrée,
le probléme est que la modification se crée mai elle crée un nouveau champ pour la modification et elle laisse l'ancien champ non modifié.

je pense que le probléme vien de la page qui permet la modification :

Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Rédiger une news</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <style type="text/css">
        h3, form
        {
            text-align:center;
        }
        </style>
    </head>
 
    <body>
<h3><a href="liste_news.php">Retour à la liste du personnel</a></h3>
 
<? include("haut.php");
 ?>
 
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");
if (isset($_GET['modifier_news'])) // Si on demande de modifier une news
{
    // On protège la variable "modifier_news" pour éviter une faille SQL
    $_GET['modifier_news'] = mysql_real_escape_string(htmlspecialchars($_GET['modifier_news']));
    // On récupère les infos de la correspondante
    $retour = mysql_query('SELECT * FROM personnel WHERE id=\'' . $_GET['modifier_news'] . '\'');
    $donnees = mysql_fetch_array($retour);
 
    // On place le titre et le contenu dans des variables simples
    $centre = stripslashes($donnees['Centre']);
    $matricule = stripslashes($donnees['Matricule']);
    $grade = stripslashes($donnees['Grade']);
    $nom = stripslashes($donnees['Nom']);
    $prenom = stripslashes($donnees['Prenom']);
    $id_news = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification
}
 
?>
<form action="ajout_personnel.php" method="post">
 
 
<p>
Centre : <input type="text" name="centre" value="<?php echo $centre; ?>" /><br />
Matricule :  <input type="text" name="matricule" value="<?php echo $matricule; ?>" /><br />
Grade :  <input type="text" name="grade" value="<?php echo $grade; ?>" /><br />
Nom :  <input type="text" name="nom" value="<?php echo $nom; ?>" /><br />
Prénom :  <input type="text" name="prenom" value="<?php echo $prenom; ?>" /><br />
 
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
 
<input type="submit" value="Envoyer" />
</p>
 
 
 
 
 
</p>
</form>
</body>
</html>
Merçi pour votre aide
gastoncs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 13h46   #2
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
il nous faudrait surtout le code de la page "ajout_personnel.php" pour pouvoir répondre à ta question.
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 13h48   #3
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
salut,
je vois bien un select (qui t'es util apparament), mais je ne vois pas d'update table ....
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 14h34   #4
Membre régulier
 
Inscription : février 2007
Messages : 509
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 509
Points : 89
Points : 89
oui j'ai oublié la table ajout_personnel, la voici :

Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>ajout de personnel</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <style type="text/css">
    form
    {
    text-align:left;
    }
    </style>
    <body>
 
 <? include("haut.php");
 ?>
 
 
<?php
if (isset($_POST['centre']) AND isset($_POST['matricule']) AND isset ($_POST['grade']) AND isset ($_POST['nom']) AND isset ($_POST['prenom'])) // Si les variables existent
{
 
if ($_POST['centre'] != NULL AND $_POST['matricule'] != NULL AND $_POST['grade'] != NULL AND $_POST['nom'] != NULL AND $_POST['prenom'] != NULL) // Si on a quelque chose à enregistrer
 
    {
        // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "root", "");
        mysql_select_db("test");
 
        // On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité
        $centre = mysql_real_escape_string(htmlspecialchars($_POST['centre']));
        $matricule = mysql_real_escape_string(htmlspecialchars($_POST['matricule']));
        $grade = mysql_real_escape_string(htmlspecialchars($_POST['grade']));
        $nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
        $prenom = mysql_real_escape_string(htmlspecialchars($_POST['prenom']));
 
        // Ensuite on enregistre le message
        mysql_query("INSERT INTO personnel VALUES('', '$centre', '$matricule', '$grade', '$nom', '$prenom')");
 
        // On se déconnecte de MySQL
        mysql_close();
    }
}
 
 
 
// Tout d'abord le formulaire :
?>
 
 
 
<form action="ajout_personnel.php" method="post">
 
<p>
Centre : <input type="text" name="centre" /><br />
Matricule :  <input type="text" name="matricule" /><br />
Grade :  <input type="text" name="grade" /><br />
Nom :  <input type="text" name="nom" /><br />
Prénom :  <input type="text" name="prenom" /><br />
 
<input type="submit" value="Envoyer" />
</p>
 
</form>
 
 <? include("affichage_personnel.php");
 
 ?>
 
    </body>
</html>
et voila affichage_personnel ou j'ai du oublié l'update ???

Code :
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
<?
 
/**
 * @author WELSCHER Laurent
 * @copyright 2007
 */
 
mysql_connect("localhost","root","");
mysql_select_db("test");
$reponse = mysql_query("SELECT * FROM personnel ORDER BY Centre");
 
// On fait une boucle pour lister tous ce qui est dans la table.
 
while ($donnees = mysql_fetch_array($reponse) )
 
{
 
?>	
 
 
<center>
<table border="1" width="80%" id="table1">
<tr>
<td width="50"><? echo $donnees['Centre']; ?></td> 
<td width="50"><? echo $donnees['Matricule']; ?></td>
<td width="60"><? echo $donnees['Grade']; ?></td>
<td width="50"><? echo $donnees['Nom']; ?> </td>
<td width="50"><? echo $donnees['Prenom']; ?> </td>
<?php echo '<a href="rediger_news.php?modifier_news=' . $donnees['id'] . '">'; ?>Modifier</a></td>
</tr>
</table>
</center>
 
 
<?
}
mysql_close(); // Deconnexion de la bd
 
 
?>
gastoncs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 14h42   #5
Membre Expert
 
Avatar de Doksuri
 
Tiger Scott
Développeur Web
Inscription : juin 2006
Messages : 1 251
Détails du profil
Informations personnelles :
Nom : Tiger Scott
Âge : 42

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juin 2006
Messages : 1 251
Points : 1 514
Points : 1 514
bah pour moi, modifier un champ = update ... >_<
tu dis que ca t'ajoute un nouveau champ et que ca te laisse l'ancien,
c'est peu etre ton insert qui en est la cause, et mets un update a la place nan ?
__________________
La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

N'oubliez pas le Le tag resolu.

Need_!
Doksuri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2007, 16h30   #6
Membre régulier
 
Inscription : février 2007
Messages : 509
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 509
Points : 89
Points : 89
je ne vois pas ou mettre update dans affichage_personnel et surtout quoi mettre comme paramétre
gastoncs est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h35.


 
 
 
 
Partenaires

Hébergement Web