Page 1 sur 1

Condition champs vide

Posté : 26 nov. 2014, 00:00
par manonb
Bonjour à tous,

Je souhaite créer une condition afin que quelque chose ne s'affiche que si la valuer du champs est rempli.

Voic mon code
<?php
if(!empty($_POST['team_member_fb_id'])){
echo 'Le champ est rempli !';
}
Cependant rien ne s'affiche alors je me dit que je n'ai pas rentré le bon identifiant du champ

Voici une capture de la table
Image

Quel est l'erreur que j'ai faite ?
Désolé par avance, je n'ai pas de lien à vous fournir car le site est en local.

Merci pour votre aide.

Re: Condition champs vide

Posté : 26 nov. 2014, 05:37
par Nestecha
Hello,

Il faut être plus précis que ça, j'ai du mal à comprendre le soucis que tu as, surtout que le code n'a rien à voir avec l'image de la BDD.

Pour qu'on puisse t'aider, poste le code de ta page ou au moins les endroits où tu veux voir ce "quelque chose" s'afficher, et dis nous ce tu appelles le "champ" ?

Re: Condition champs vide

Posté : 26 nov. 2014, 12:31
par Megadeth
Slt,

Pour le coup tu dois faire une requête sur ta table et demander (au vue de ce que je vois) si le champ meta_key est rempli ou non.

La syntaxe que tu as donné dis en fait est-ce que la valeur postée "team_member_fb_id" (celle depuis le formulaire) est vide ou non.

Dans ton cas tu interroges la saisie préalable et non ta base.

Mega
;)

Re: Condition champs vide

Posté : 27 nov. 2014, 00:43
par manonb
Bonjour,

Merci pour vos retour
Pour qu'on puisse t'aider, poste le code de ta page ou au moins les endroits où tu veux voir ce "quelque chose" s'afficher, et dis nous ce tu appelles le "champ" ?
Le champs pour moi est le "nom" que je dois appeler pour savoir si meta_value est vide ou non
Pour le coup tu dois faire une requête sur ta table et demander (au vue de ce que je vois) si le champ meta_key est rempli ou non.
Tout à fait
Dans ton cas tu interroges la saisie préalable et non ta base.
Comment faire pour interroger ma base alors ? En lui demandant si meta_key est rempli ou non ?

Re: Condition champs vide

Posté : 27 nov. 2014, 03:17
par Megadeth
Re,

Et bien en amont ton formulaire tu fais une requête (j'imagine que tu as les infos de connexion) et tu te lances ;)

SELECT via pdo ou autre

Tu appelles ton fichier de connexion à la base ou tu définis les valeurs (vois comment on se connecte à une base mysql)
Ensuite ta requête
SELECT * FROM tatable WHERE meta_id = 40;
...
...
...

Ensuite tu récupères les valeurs de ton enregistrement 40 et tu testes si le champ meta_key est vide ou non.
A la place de if(!empty($_POST['team_member_fb_id'])){
tu auras if(!empty($macolonne['meta_key'])){

Courage, faut se lancer ;)

Mega
;)

Re: Condition champs vide

Posté : 27 nov. 2014, 22:07
par manonb
Encore une fois merci pour le temps consacré à me répondre
J'ai donc écrit ceci :
<?php
$db = mysql_connect('localhost', 'Manon', 'MOTDEPASSEDEMABASE');
mysql_select_db('NOMDEMABASE',$db);
$sql = 'SELECT * FROM wp_postmeta WHERE meta_id = 40;';
$marequete = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
if(!empty($marequete['meta_key'])){
echo 'Le champ est rempli !';
} else {
echo 'Le champ est vide !';
}
mysql_close();
?>
Cela me renvois le champs est vide... cela n'est donc pas encore juste.

Re: Condition champs vide

Posté : 27 nov. 2014, 22:50
par Nestecha
$marequete['meta_key']
$marequete est une ressource dans laquelle tu dois piocher pour avoir tes résultats. Ce n'est pas un tableau.

Pour récupérer les résultats tu dois faire ainsi :
while ($row = mysql_fetch_assoc($marequete)) {
    if (!empty($row['meta_key'])) {
         echo 'Le champ est rempli !';
    } else {
         echo 'Le champ est vide !';
    }
}
Par contre vraiment utiliser les fonctions mysqli ou PDO et pas mysql pour un soucis de sécurité.