IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] empty ne fonctionne pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Par défaut [Tableaux] empty ne fonctionne pas
    Bonjour a tous
    j ai un de mes scripts qui ne daigne pas fonctionner lol
    je vous explique le fonctionnement extremement simple

    j ai une table contenant un ou plusieurs lien menant vers une video le nombre de liens depend du faite qu une video est decoupé en plusieurs parties ou pas , ces informations viennent d un formulaire accessible a tous.
    sur ma page ou j affiche ces liens je souhaite verifier si un deuxieme lien existe grace à ce code si il existe on l affiche sinon on affiche rien maleuresement ca ne semble pas fonctionner pourtant le champ est bien vide
    d apres vous qu est ce qui ne va pas

    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
     
    <?
    $retour = mysql_query ('SELECT * FROM upload WHERE download="'.$_GET['dl'].'"and valide="1" and fichier="'.$_GET['anime'].'" and numero="'.$_GET['numero'].'"and time="'.$_GET['date'].'"and pseudo="'.$_GET['pseudo'].'" ORDER bY numero   ');
     
    while ($donnees = mysql_fetch_array($retour) )
    {
    if (!empty($donnees['lien2']))
    {
    ?>
    <center>[ <a href="<? echo stripslashes($donnees['lien2']); ?>" class="download">partie 2</a> ] </center>
     
     <?
     
     }
     else
     {
     }
     ?>

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    533
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 533
    Par défaut
    Bonjour,

    peux-tu nous dire comment tu affectes une valeur à $donnees['lien2'] ?

  3. #3
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut


    Sinon je ne vois nulle part la fonction empty...

    isset retourne true si ta variable existe et même si elle est vide


    empty retournera true si ta variable existe et EST vide
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Par défaut
    merci
    en fait donnees['lien2']sort d'un des champ de ma table

    ps: desolé j ai pas trouvé la balise code la premiere fois

  5. #5
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Et avec empty ca fonctionne pas mieux ? (j'ai vu que tu as modifié ton code du 1er post...)

    Sinon essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($tavar) && !empty(trim($tavar)))
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  6. #6
    Membre éprouvé Avatar de Commodore
    Homme Profil pro
    Business manager
    Inscrit en
    Février 2004
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Business manager

    Informations forums :
    Inscription : Février 2004
    Messages : 599
    Par défaut
    voici un petit tableau que l'on m'a donné ici et qui m'a été très utile pour ces cas précis :

    http://fr.php.net/manual/fr/types.comparisons.php

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 82
    Par défaut
    en fait a la base c'est un empty que j utilise et nan ca ne fonctionne pas pourtant sur une autre page ca marche regardez

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    <?
     
    $anime_resume=htmlentities(addslashes($_GET['anime']));
    $retoursyn = mysql_query ('SELECT * FROM anime WHERE anime="'.$anime_resume.'"and valide="1" ');
    $donneesyn = mysql_fetch_array($retoursyn) ;
    if(isset ($donneesyn['synopsis']))
    {
    if (!empty($donneesyn['synopsis']))
    {
     
     
     
     
     
    $texte = stripslashes(html_entity_decode($donneesyn['synopsis'])); // On enlève les slash qui se seraient ajoutés automatiquement
     // On rend inoffensives les balises HTML que le visiteur a pu rentrer
    $texte = nl2br($texte); // On crée des <br /> pour conserver les retours à la ligne
     
        // On fait passer notre texte à la moulinette des Regex
     
    $texte = preg_replace('!\[b\](.+)\[/b\]!isU', '<strong>$1</strong>', $texte);
    $texte = preg_replace('!\[i\](.+)\[/i\]!isU', '<em>$1</em>', $texte);
    $texte = preg_replace('!\[u\](.+)\[/u\]!isU', ' <U>$1 </U>', $texte);
    $texte = preg_replace('!\[img\](.+)\[/img\]!isU', ' <img src="$1"> ', $texte);
     
    $texte = preg_replace('!\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]!isU', '<span style="color:$1">$2</span>', $texte);
    $texte = preg_replace('!\[url=(.+)\](.+)\[/url\]!isU', '<a href="$1"target="blank">$2</a>', $texte);
    $texte = preg_replace('!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!i', '<a href="MAILTO:$0">$0</a>', $texte);
     
     
    if (isset($_GET['resume']))
    {
    ?><br/>
    <h1 class="titre">Résume</h1>
     
    <br/><br/>
    <p>
    <?echo $texte;?><br/><br/>
    <?echo $donneesyn['pseudo'];?>
    <center>
    <img src="style/images/news_05.jpg">
    </center>
     
    </p>
    <?
     
    }
     
    ?>
     
    - <a class="big"href="index.php?page=download&download=<?echo $_GET['download'];?>&resume&anime=<?echo $_GET['anime'];?>">afficher résumé</a>
     
     
    <?
    }
    }
    ?>

    ce code fonctionne tres bien si le champ est vide il ne m affiche rien

  8. #8
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Question bête : N'y aurait il pas des signes cabalistiques dans ton $donnees['lien2'] (du genre accents, apostrophes etc etc)

    Si la réponse à la question est OUI alors petit coup d'oeil ICI

    Si tu es vraiment persuadé que ton champ est vide mais qu'il passe quand même le empty c'est qu'il ne doit pas être si vide que ça peut être il ya un espace qui traine et qui te fait penser qu'il est vide !

    un te donne quoi ? les 4 underscores sont ils bien accolés ?
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  9. #9
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 71
    Par défaut
    Salut,

    Pour quoi tu ne verifie pas directement dans ta requete si le contenu du synopsis est vide?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    $retour = mysql_query ('SELECT * FROM upload WHERE download="'.$_GET['dl'].'"and valide="1" and 
    fichier="'.$_GET['anime'].'" and numero="'.$_GET['numero'].'"and time="'.$_GET['date'].'"
    and pseudo="'.$_GET['pseudo'].'" AND synopsis!="" ORDER bY numero')or die(mysql_error());;
    Sinon tu peux toujours essayer de mettre un die(mysql_error()) pour voir si ta requete s'exécute bien.

    Par ailleurs, si ta requete est ce que tu peux regarder ce que contient ta variable $donneesyn['synopsis'] en faisant un echo.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Glob() ne fonctionne pas
    Par francoisch dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2008, 09h05
  2. [Tableaux] remote_host ne fonctionne pas
    Par kynri dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2007, 10h45
  3. [Tableaux] is_dir() ne fonctionne pas
    Par pierrot10 dans le forum Langage
    Réponses: 1
    Dernier message: 20/06/2007, 16h12
  4. Des tableaux qui ne fonctionnent pas ?
    Par kevinf dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 18/12/2006, 19h22
  5. [Tableaux] $_ENV ne fonctionne pas ? ? ?
    Par Yann1974 dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2006, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo