Bonjour,

quand je change une donnée de mon champs il ne sauvegarde rien dans ma db ?

Pouvez vous m'aider ?

voici mon bout de code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?php
  $DB_HOST = '127.0.0.1';
  $DB_USER = 'root';
  $DB_PASSWORD = '';
  $DB_NAME = 'dbtest';
  $DB_TABLE_NAME = 'inlinemod';
//On sort en cas de paramètre manquant ou invalide
if(empty($_GET['id']) or empty($_GET['type']) or empty($_GET['champ']) or empty($_GET['valeur'])
   or !is_numeric($_GET['id'])
   or !in_array(
   		$_GET['champ'],
        array('nom', 'prenom', 'adresse', 'code_postal', 'ville', 'enfants', 'email')
        ))
{
    exit;
}
 
    //Connexion à la base de données
    $connexion = mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD) or die(mysql_error());
    mysql_select_db($DB_NAME, $connexion) or die(mysql_error());
 
    //Construction de la requête en fonction du type de valeur
switch($_GET['type'])
{
    case 'texte':
    case 'texte-multi':
        $sql  = 'UPDATE `'.DB_TABLE_NAME;
        $sql .= '` SET ' . mysql_real_escape_string($_GET['champ']) . '="';
        $sql .= mysql_real_escape_string($_GET['valeur']) . '" WHERE id=' . intval($_GET['id']);
        break;
 
    case 'nombre':
        $sql  = 'UPDATE `'.DB_TABLE_NAME;
        $sql .= '` SET ' . mysql_real_escape_string($_GET['champ']) . '=' . intval($_GET['valeur']);
        $sql .= ' WHERE id=' . intval($_GET['id']);
        break;
 
    default:
        exit;
}
    //Exécution de la requête
    mysql_query($sql) or die(mysql_error());
 
    mysql_close($connexion);
?>