Forum CMS Made Simple FR

Version complète : [résolu](udt) if empty dans heredoc
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

guismo20

Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.9.3
#~ Nom de l'hébergeur : infomaniak
#~ Informations Système :
#~ Cms Version: 1.9.3
#~ Installed Modules:
#~ * CMSMailer: 2.0.1
#~ * FileManager: 1.1.0
#~ * MenuManager: 1.7.5
#~ * ModuleManager: 1.4
#~ * News: 2.11.1
#~ * nuSOAP: 1.0.2
#~ * Printing: 1.1.2
#~ * Search: 1.6.10
#~ * ThemeManager: 1.1.4
#~ * TinyMCE: 2.8.3
#~ * Gallery: 1.4.1
#~ * CGSimpleSmarty: 1.4.7
#~ * CGExtensions: 1.23
#~ * simpletagging: 0.3.1
#~ * Captcha: 0.4.3
#~ * AComments: 1.1
#~ * CMSSimplepie: 1.0
#~ * AdvancedContent: 0.7.1
#~ * Cataloger: 0.9
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * output_compression: false
#~ * max_upload_size: 48000000
#~ * default_upload_permission: 664
#~ * url_rewriting: none
#~ * page_extension:
#~ * query_var: page
#~ * image_manipulation_prog: GD
#~ * auto_alias_content: true
#~ * locale:
#~ * default_encoding: utf-8
#~ * admin_encoding: utf-8
#~ * set_names: true
#~ Php Information:
#~ * phpversion: 5.2.17
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * E_STRICT: 0
#~ * memory_limit: 96M
#~ * max_execution_time: 10
#~ * output_buffering: 20480
#~ * safe_mode: Off (Faux)
#~ * file_uploads: On (Vrai)
#~ * post_max_size: 300M
#~ * upload_max_filesize: 300M
#~ * session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ * session_use_cookies: On (Vrai)
#~ * xml_function: On (Vrai)
#~ Server Information:
#~ * Server Api: apache2handler
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.84
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~



Bonjour tout le monde, j'avais utilisé ce topic http://www.cmsmadesimple.fr/forum/viewtopic.php?id=1375 pour faire appel à une bdd et l'afficher dans des udt, tout marche nickel.
Par contre, là j'aimerai vérifier si un champ appelé est vide ou pas, j'ai essayé {capture} qui visiblement ne marche pas, puis suis passé par if empty qui marche en dehors de ma requete heredoc (à ceci prés qu'il m'affiche ce que je veux quand la chaine est vide mais m'écrit {$resultatchamp2} au lieu de me donner sa valeur quand il y en a une).
donc si quelqu'un avait une petite astuce a me donner je suis preneur, car quand je le met dans ma requete entre les balises heredoc ce n'est pas interprété, j'ai cherché pas mal sur la toile mais en vain Smile
merci par avance
tu n'y arriveras pas. telle est l'utilisation des syntaxe herodoc : texte + variable, c'est tout.

par contre tu peux faire

Code :
if($test == null){
<<<TEST
........
TEST
} else {
<<<TEST
........
TEST
}

donc encadrer de l'herodoc

guismo20

merci bien, donc en fait on peut multiplier les "appels" heredoc, je restai bloqué sur l'idée qu'il n'y en avait qu'un, je met résolu, je te remercie, rapide et efficace comme d'hab Wink

guismo20

j'essayais à l'instant et ca ne marchait pas car il manquait juste 2 petits trucs à priori, donc je mets la solution pour ceux qui se trouveraient confrontés comme moi a ce problème

Citation :if($dbresult->fields['sousespeces'] == null){
echo<<<REQUETE
<b>pas de sous espèces</b>
REQUETE;
} else {
echo<<<REQUETE
<b>oui</b>
REQUETE;
}
voilà avec les "echo" et ";" visiblement ca marche, merci bien Wink