Afficher des données stockées [Réglé]
Xaon60 Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Xaon60
- Inscrit le : 15/10/2015
- Site internet
- Groupes :
Est-ce qu'il est possible, et si oui par quel moyen, dans un article, d'afficher des données provenant d'un document XML ou d'une base de données ?
Je rédige trois articles sur le potager dans lesquels il y a de grands tableaux (associations de légumes, périodes de semis etc), et ça devient vite difficile de se retrouver dans les balises.

L'idéal serait un bout de code qui m'affiche les données dont j'ai besoin.
Merci d'avance.
Édité par Xaon60 Le 22/12/2015 à 21h18
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
pourquoi ne pas y insérer un tableau au format csv pour les visiteurs ?
Sinon non à ma connaissance il n'est pas possible d'afficher du XML ou d'extraire des données d'une BDD sans passer par un module.
Cordialement, janus57
Xaon60 Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Xaon60
- Inscrit le : 15/10/2015
- Site internet
- Groupes :

Je connais le format csv de nom, je ne l'ai jamais utilisé. Comment procéder ?
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
c'est un simple format de tableau que l'on peu produire avec LibreOffice ou excel.
Cordialement, janus57
Dramaturge Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Dramaturge
- Inscrit le : 16/02/2015
Imaginons un fichier xml situé ici : http://domain.com/folder/myxml.xml
Représentons nous un XML comme ceci :
Code XML :
<?xml version="1.0" encoding="ISO-8859-1"?> <root> <child> <name>Joey</name> <date>01/01/1986</date> <data>Description de Joey</data> </child> <child> <name>Drama</name> <date>02/02/87</date> <data>Mon autre pseudo</data> </child> </root>
Dans ton article, tu ouvres une balise html, et tu y insères du code comme ceci :
Code HTML :
Et ton tableau prendra forme automatiquement, en insérant tous les noeuds.
Le possible est déjà fait, l'impossible est en cours, pour les miracles prévoir 48h de délai
Xaon60 Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Xaon60
- Inscrit le : 15/10/2015
- Site internet
- Groupes :
J'ai bien utilisé la balise HTML.
Dramaturge Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Dramaturge
- Inscrit le : 16/02/2015
Le possible est déjà fait, l'impossible est en cours, pour les miracles prévoir 48h de délai
Xaon60 Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Xaon60
- Inscrit le : 15/10/2015
- Site internet
- Groupes :
Dramaturge Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Dramaturge
- Inscrit le : 16/02/2015
Je vais voir pour une solution en javascript.
Le possible est déjà fait, l'impossible est en cours, pour les miracles prévoir 48h de délai
Xaon60 Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Xaon60
- Inscrit le : 15/10/2015
- Site internet
- Groupes :
Je ne vais pas continuer mon tableau ce soir, au cas où tu trouverais un moyen.
Édité par Xaon60 Le 22/12/2015 à 23h00
Dramaturge Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Dramaturge
- Inscrit le : 16/02/2015
).Insères ça dans une balise html :
Code HTML :
<table id='table_xml'> </table> <script type="text/javascript">$(document).ready( function () { $.ajax({ type: "GET", url: "http://xaon.fr/xml/legumes.xml", dataType: "xml", success: function (xml) { $(xml).find('legume').each( function () { var nom = $(this).find('nom').text(); var amis = $(this).find('amis').text(); var ennemis = $(this).find('ennemis').text(); $('#table_xml').append('<tr><td>' + nom + '</td><td>' + amis + '</td><td>' + ennemis + '</td></tr>'); } ) } } ); }); </script>
Dis-moi si tu as besoin de plus de précisions.
Édité par Dramaturge Le 22/12/2015 à 23h57
Le possible est déjà fait, l'impossible est en cours, pour les miracles prévoir 48h de délai
Xaon60 Membre non connecté
Booster Fronde
-
Booster Fronde
- Voir le profil du membre Xaon60
- Inscrit le : 15/10/2015
- Site internet
- Groupes :
J'arrive à comprendre le sens cependant.
Édité par Xaon60 Le 23/12/2015 à 00h29
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
normal, y a pas de jQuery en V4.1 =)
Cordialement, janus57
Dramaturge Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Dramaturge
- Inscrit le : 16/02/2015

Ça se sent que je suis dépité ou pas ?
Bon, il y a 2 solutions alors :
- Attendre la V5
- Ajouter jQuery dans ta V4.1.
Pour cela il faut ajouter la déclaration vers jQuery dans le frame.tpl de ton thème
Ajouter la déclaration
Code JAVASCRIPT :
jQuery.noConflict();
Et dans le code que je t'ai donné plus haut, remplacer toutes les occurrences de $() par jQuery()
Ce topic pourra t'aider : http://www.phpboost.com/forum/topic-9560+conflits-javascript-et-jquery.php
Dis-moi si tu rencontres des soucis.
Le possible est déjà fait, l'impossible est en cours, pour les miracles prévoir 48h de délai
Dramaturge Membre non connecté
Booster Bazooka
-
Booster Bazooka
- Voir le profil du membre Dramaturge
- Inscrit le : 16/02/2015
Dans ton frame.tpl (de ton thème), modifie cette partie comme suit :
Code HTML :
Je n'ai modifié que les 2 dernières lignes.
Ensuite, dans ton article, il faut remplacer toutes les $() en $j().
Donc dans une balise html ça devrait maintenant fonctionner :
Code HTML :
<table id='table_xml'> </table> <script type="text/javascript"> $j(document).ready( function () { $j.ajax({ type: "GET", url: "http://xaon.fr/xml/legumes.xml", dataType: "xml", success: function (xml) { $j(xml).find('legume').each( function () { var nom = $j(this).find('nom').text(); var amis = $j(this).find('amis').text(); var ennemis = $j(this).find('ennemis').text(); $j('#table_xml').append('<tr><td>' + nom + '</td><td>' + amis + '</td><td>' + ennemis + '</td></tr>'); } ) } } ); }); </script>
Le possible est déjà fait, l'impossible est en cours, pour les miracles prévoir 48h de délai
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie