Condition champs vide

Petit nouveau ! | 3 Messages

26 nov. 2014, 00:00

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.

Nestecha
Invité n'ayant pas de compte PHPfrance

26 nov. 2014, 05:37

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" ?

Mammouth du PHP | 737 Messages

26 nov. 2014, 12:31

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
;)
Dyslexics are teople poo

Petit nouveau ! | 3 Messages

27 nov. 2014, 00:43

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 ?

Mammouth du PHP | 737 Messages

27 nov. 2014, 03:17

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
;)
Dyslexics are teople poo

Petit nouveau ! | 3 Messages

27 nov. 2014, 22:07

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.

Nestecha
Invité n'ayant pas de compte PHPfrance

27 nov. 2014, 22:50

$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é.