Bonjour,
débutant en PHP, j'ai quelques difficultés sur ce point :
j'ai créé un formulaire avec différents champs à saisir (tous ne sont pas obligatoires). Les données rentrées sont insérées dans une base de données.
Je voudrais que les champs vides soient remplacés par un NULL dans le SQL,
car je souhaite afficher les données sur une page et ça me fait des espaces vides.
Si quelqu'un peut me donner un coup de main...


Voici le 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
 
if (isset($_POST['envoyer'])) {
	 // déclaration des variables en fonction des champs
	 $nom = addslashes($_POST['nom']);
	 $info = $_POST['info'];
	 $adresse = $_POST['adresse'];
	 $adresse2 = $_POST['adresse2'];
	 $cp = $_POST['cp'];
	 $ville = $_POST['ville'];
	 $tel = $_POST['tel'];
	 $fax = $_POST['fax'];
	 $gsm = $_POST['gsm'];
	 $categorie = $_POST['categorie'];
	 $requete = "SELECT DISTINCT categorie.id_categorie FROM categorie, partenaire WHERE categorie.id_categorie = partenaire.id_categorie AND nom_categorie='$categorie'";
	 $resultat = mysql_query($requete);
	 while ($ligne = mysql_fetch_array($resultat)) {
	 $categorie = $ligne[0]; // récupère le num de la catégorie dans la variable à la place du nom
	 }
	 if(empty($_POST["info"])) { $info = NULL; } // ça ne marche pas
if(empty($_POST["gsml"])) { $gsm = NULL; } // idem
	 // déclaration de la requête
	 $requete = "INSERT INTO partenaire (
	 nom_partenaire, 
	 info_sup_partenaire, 
	 adresse_partenaire, 
	 adresse2_partenaire, 
	 cp_partenaire, 
	 ville_partenaire,
	 tel_partenaire,
	 fax_partenaire,
	 gsm_partenaire,
	 id_categorie) 
	 VALUES (
	 '$nom', 
	 '$info', 
	 '$adresse', 
	 '$adresse2', 
	 '$cp', 
	 '$ville',
	 '$tel',
	 '$fax',
	 '$gsm',
	 $categorie)";
 
	// enregistrement du résultat de la requete dans une variable
	$resultat = mysql_query ($requete);