8796 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un petit problème, je remplis des champs d'un formulaire avec des valeurs numériques.
Lorsque je n'ai pas l'info, je ne mets rien dans le champs, par contre une fois le formulaire validé, quand je vois ma page, j'ai un "0" qui s'affiche. Dans ma BDD, j'ai "oui" à Null et par défaut j'ai NULL également.

Je voudrais donc que lorsque mon champ n'est pas rempli, NULL soit insérer dans ma base de données.

Voici mon code:

$spectateur = $_POST["spectateur"];

if($spectateur=="") {
$spectateur = NULL;
}
	
	$ajout = $sql->query("INSERT INTO "._TMATCH_." VALUES(
						'',
						'".$_POST["equipe_dom"]."',
						'".$_POST["equipe_ext"]."',
						'".$_POST["spectateur"]."'
						)");	


Malgré cela, le 0 s'affiche toujours, pourriez-vous m'aider?

Merci d'avance! Smiley cligne
Si tu utilises la variable $_POST["spectateur"] alors que tu as appliqué des modifications sur la variables $spectateur, ça ne risque pas de changer grand chose Smiley cligne
moust a écrit :
Si tu utilises la variable $_POST["spectateur"] alors que tu as appliqué des modifications sur la variables $spectateur, ça ne risque pas de changer grand chose Smiley cligne


Erreur que j'avais corrigé entre temps mais oublié de mettre à jour sur le post...

$spectateur = $_POST["spectateur"];

if($spectateur=="") {
$spectateur = NULL;
}
	
	$ajout = $sql->query("INSERT INTO "._TMATCH_." VALUES(
						'',
						'".$_POST["equipe_dom"]."',
						'".$_POST["equipe_ext"]."',
						'".$spectateur."'
						)");	


Mais au final, j'ai toujours le même souci...
Hello,

Si ta variable $_POST["spectateur"] est vide n'est-elle pas censée "remplir" ta BDD d'un NULL automatiquement sur ta 4ème rubrique ? (surtout si tu l'as paramétrée ainsi)

Cela me semble être un surplus tes trois lignes de contrôle.

Bon courage Smiley cligne
Riku Asakura a écrit :
Hello,

Si ta variable $_POST["spectateur"] est vide n'est-elle pas censée "remplir" ta BDD d'un NULL automatiquement sur ta 4ème rubrique ? (surtout si tu l'as paramétrée ainsi)

Cela me semble être un surplus tes trois lignes de contrôle.

Bon courage Smiley cligne


Le souci c'est qu'actuellement, quand mon champs est vide, j'ai malgré tout un "0" qui s'insère dans ma base de données, d'où mon incompréhension... Smiley ohwell
Salut,

Est ce que le champ dans ta base de donnée n'est pas défini avec une valeur 0 par défaut et non NULL ?
MountainBoy a écrit :
$spectateur = $_POST["spectateur"];
if($spectateur=="") {
$spectateur = NULL;
}

cette ligne veut dire que tu vide ta variable essaie de mettre ton NULL dans des simple quote
$spectateur = 'NULL';
NULL est un mot reservé a php et a la bd.
Modifié par hakazizi (31 May 2010 - 09:50)
Toujours le même résultat...

Du coup, à chaque fois, je dois me connecter à PhpMyAdmin et cocher "NULL" pour enlever les 0... pas très pratique! Smiley decu
Et ça :

$spectateur = $_POST["spectateur"]; 
 
if($spectateur=="") { 
$spectateur = 'NULL'; 
} 
     
    $ajout = $sql->query("INSERT INTO "._TMATCH_." VALUES( 
                        '', 
                        '".$_POST["equipe_dom"]."', 
                        '".$_POST["equipe_ext"]."', 
                        ".$spectateur." 
                        )");    


?

J'ai supprimer les deux ' autour de ta variable dans ta requête SQL, et rajouter les ' autour de la valeur de ta variable.

Si ça ne marche pas, envoie un screen shot de la structure de ta table !
Super_baloo8 a écrit :
Et ça :

$spectateur = $_POST["spectateur"]; 
 
if($spectateur=="") { 
$spectateur = 'NULL'; 
} 
     
    $ajout = $sql->query("INSERT INTO "._TMATCH_." VALUES( 
                        '', 
                        '".$_POST["equipe_dom"]."', 
                        '".$_POST["equipe_ext"]."', 
                        ".$spectateur." 
                        )");    


?

J'ai supprimer les deux ' autour de ta variable dans ta requête SQL, et rajouter les ' autour de la valeur de ta variable.

Si ça ne marche pas, envoie un screen shot de la structure de ta table !


Ça fonctionne ! Super !
Merci beaucoup ! Smiley smile