[RESOLU] php et champ sql vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] php et champ sql vide

Re: php et champ sql vide

par F2B » 01 août 2014, 14:51

Bonjour,

Finalement, j'ai contourné le problème en faisant :

Code : Tout sélectionner

<td style='text-align:center;'> <?php $varvideo = trim($hm->Zb('rs:def:video')); if(substr($varvideo,0,4) == 'http') {?> <A HREF="<?php echo $hm->Zb('rs:def:video'); ?>" target="_blank"><img src="btn_icon_play.gif"></img></a> <?php } ?> </td>
Merci pour votre aide

Re: php et champ sql vide

par F2B » 31 juil. 2014, 19:20

Bonjour,

Effectivement, je pense que la difficulté se situe plutôt côté BDD.

Voici la capture ...

Pour info : sur les champs

Code : Tout sélectionner

'video'
vides de la BDD, il apparaît sur les images liens de la page web l'URL du site web ...

Merci pour votre aide

Re: php et champ sql vide

par sirakawa » 31 juil. 2014, 18:31

Quel est le type de la colonne dans ta BDD?

Re: php et champ sql vide

par F2B » 31 juil. 2014, 17:55

Hello,

J'ai essayé la version php <5.5 qui fonctionne.

Voici les résultats que j'obtiens avec

Code : Tout sélectionner

var_dump($varvideo);
Pour ligne vide

Code : Tout sélectionner

string(6) " "
Pour ligne pleine

Code : Tout sélectionner

string(43) blablablablabla
...43 caractères

En fait ce qui est étrange c'est le string(6) " " alors qu'il n'y a rien dans la base SQL ...

Helpppppp

Re: php et champ sql vide

par moogli » 31 juil. 2014, 16:58

salut,

le if vide c'est le mal
version php >= 5.5
<td>
    <?php
    $varvideo = trim($hm->Zb('rs:def:video'));
    if (!empty(trim($hm->Zb('rs:def:video')))) {
        echo '<a href="', $hm->Zb('rs:def:video'), '" target="_blank"><img src="btn_icon_play.gif"/></a>';
    }
    ?>
</td>
version php <5.5
<td>
    <?php
    $varvideo = trim($hm->Zb('rs:def:video'));
    if (!empty($varvideo)) {
        echo '<a href="', $varvideo, '" target="_blank"><img src="btn_icon_play.gif"/></a>';
    }
    ?>
</td>
Comme l'a indiqué sirakawa il fuat debugguer et voir ce que contient $varvideo = trim($hm->Zb('rs:def:video')); (donc un var_dump($varvideo); )

@+

Re: php et champ sql vide

par F2B » 31 juil. 2014, 13:32

J'ai recopié ce code et cela ne fonctionne pas. L'image s'affiche dans tous les cas ...
<td>
<?php
$varvideo=$hm->Zb('rs:def:video');
if ( trim($varvideo) == "" ){
} else {?>
 <A HREF="<?php echo $hm->Zb('rs:def:video'); ?>" target="_blank"><img src="btn_icon_play.gif"></img></a><?php
}
?>
 </td>

Re: php et champ sql vide

par xTG » 31 juil. 2014, 13:28

Non ce n'est pas ce que tu as mis...
Relis bien. ;)

Re: php et champ sql vide

par F2B » 31 juil. 2014, 13:22

Oui c'est ce que j'ai mis et pourtant alors que la variable est vide l'image apparaît ! grrrrr

Re: php et champ sql vide

par xTG » 31 juil. 2014, 13:18

if ( trim($varvideo) == "" ){
Voir en plus élégant :
if ( empty( trim($varvideo) ) ){

Re: php et champ sql vide

par F2B » 31 juil. 2014, 12:55

Super.

Peux-tu me préciser le code final car j'ai essayé cela et l'image apparaît dans tous les cas :

Code : Tout sélectionner

<td> <?php $varvideo=$hm->Zb('rs:def:video'); if (trim($varvideo=="")){ } else {?> <A HREF="<?php echo $hm->Zb('rs:def:video'); ?>" target="_blank"><img src="btn_icon_play.gif"></img></a><?php } ?> </td>
Merci

Re: php et champ sql vide

par sirakawa » 31 juil. 2014, 08:33

Ca fonctionne très biuen au contraire: ton champ contient 6 espaces....
Supprime le var_dump.
et fais un trim'$varvideo) avant le if

Re: php et champ sql vide

par F2B » 31 juil. 2014, 08:19

Bonjour,

Cela ne fonctionne pas ... Il apparaît :

Code : Tout sélectionner

string(6) " "
Merci

Re: php et champ sql vide

par sirakawa » 31 juil. 2014, 07:57

1) Principe simple de débogage: quand une variable ne fait pas ce qu'on croit, on la fait afficher en php avec var_dump:
2) La norme met les balises html en minuscules.
3) puisque $varvideo est définie, pour quoi écrire plus loin : echo hm->Zb('rs:def:video') ?
<td style='text-align:center;'>
<?php
$varvideo=$hm->Zb('rs:def:video');
var_dump($varvideo); die();
if ($varvideo==""){
} else {?>
<A HREF="<?php echo $hm->Zb('rs:def:video'); ?>" target="_blank"><img src="btn_icon_play.gif"></img></a><?php
}
?>
</td>

php et champ sql vide

par F2B » 31 juil. 2014, 06:35

Bonjour,

Je souhaite faire apparaître une image uniquement si le champ 'video' de ma base SQL est non vide.

Le code ci-dessous fonctionne correctement et affiche bel et bien l'image quand le champ de la base SQL contient une information ...

... MAIS il ne parvient pas à identifier le champ de la base SQL quand celui-ci est vide (null ?) et donc ne pas faire apparaître l'image !

Merci pour votre aide

Code : Tout sélectionner

<td style='text-align:center;'> <?php $varvideo=$hm->Zb('rs:def:video'); if ($varvideo==""){ } else {?> <A HREF="<?php echo $hm->Zb('rs:def:video'); ?>" target="_blank"><img src="btn_icon_play.gif"></img></a><?php } ?> </td>