Bonjour,
est-il possible, avec xml + php de générer des pages à la volée ?
Quels scripts php font cela ?
A bientôt...
Bonjour,
est-il possible, avec xml + php de générer des pages à la volée ?
Quels scripts php font cela ?
A bientôt...
un exemple ?Envoyé par php_de_travers
Je pense avoir trouvé une piste avec simplexml en php5 qui parse le xml...
je repete la question: qu'est ce que tu appelle generer des pages à la volée, un exemple ?
Générer des pages à la volée, c'est à dire créer une page structure dans laquelle le contenu est ajouté en fonction de paramètres qui envoient le code chercher les infos dans une bdd.
Bon en gros tu recuperes des infos BDD , tu obtiens une forme XML tu transforme HTML avec xslt
deux methode
- sur serveur direct avec php
- coté client , grace à ajax tu recupère les xml
C'est ca (je vois pas trop ce que viens faire le "à la volé" mais bon)
Bon a part que mysql (le couple le plus commun avec php) ne fournit pas "nativement" une sortie xml et qu'on est obligé de le faire en PHP (au contraire d'oracle) , c'etait ou ton pb ?
Euh... là ca m'interresse....
Coté client, avec Ajax, Ok : on recupere un XML et on genere le HTML....
Mais coté serveur ?
- On fait un script PHP
- Le script lit des données mySQL, fait de traitements...
- Le script genere une sortie XML et non pas HTML
- La sortie XML est envoyée au client
- Le client genere une page HTML grace à une feuille de style
Mais comment la page XML est-elle interprettée convenablement par le client ?
Euh, en fait quel en-tete (DOCTYPE....) faut-il donner à la sortie XML pour quelle soit comprise convenablement par le client, malgré l'extension .php du fichier ?
Ou alors je n'ai rien compris....
Merci !
coté client-Avec ajax , on a eu une feuille html qui, dans un objet javascript, contient une feulle xslt
coté serveur - c'est la que le xml est transforme en html par une feuille xslt.
Exactement comme le php produit du html en temps habituels
regarde du coté de ces scripts
http://www.developpez.net/forums/sho...93&postcount=3
http://www.developpez.net/forums/sho...57&postcount=4 (pas du php5 mais ca donne l'idée)
Donc en fait, si je comprend bien :
Coté serveur on utilise un processeur XML/XSL qui va transformer notre XML en HTML et envoyer le HTML resultant....
Merci !
ça m'intéresse aussi ça :Envoyé par Erwy
Comment réaliser une sortie xml directement à partir d'une base oracle?
IL y a plusieurs methodes, je n'ai pas malheureusement acces ici, mais je pourrais le poster lundi
deux methodes les plus simples te les plus modulables:
- faire une procedure stockeée qui prend en paramètre n'importe quelle requête sql et renvoi un fichier xml canonique
- faire une requête en xsql (c'est natif a partir de 9i si mes souvenirs sont bons), l'avantage c'est qu'on obtient le xml sous la forme qu'on demande
J'attends ta réponse avec impatience!!Envoyé par Erwy
xsql : c'est séduisant ça!
La procédure stockée
la forme canonique
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 CREATE OR REPLACE procedure SORTIE_XML(nom_buf out CLOB,requ in varchar2) is /* handler indispensable à la création du flux XML*/ /* nom_buf sortie xml dans un clob, requ la requête sql*/ ctxhand sys.DBMS_XMLQUERY.ctxType; begin ctxhand:=sys.dbms_xmlquery.newcontext(requ); /* récupération du flux XML dans le CLOB */ sys.dbms_xmlquery.setencodingtag(ctxhand,'ISO-8859-1'); nom_buf:=sys.dbms_xmlquery.getxml(ctxhand); sys.dbms_xmlquery.closeContext(ctxhand); end; /
soit une table TEST
avec les champs T1 (contient a)et T2 (contient b)
renverra
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="UTF-8"?> <ROWSET> <ROW num="1"> <T1>a</T1> <T2>b</T2> </ROW> </ROWSET>renverra
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select T1 as B1, T2 as B2 from test
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="UTF-8"?> <ROWSET> <ROW num="1"> <B1>a</B1> <B2>b</B2> </ROW> </ROWSET>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager