begin process at 2012 02 15 20:41:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Général

 > 

Problème génération tableau après avoir parsé mon XML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème génération tableau après avoir parsé mon XML

mardi 30 mai 2006 à 14:42:15 | Problème génération tableau après avoir parsé mon XML

Akita95

Bonjour à tous,

Je sollicite votre aide car je suis dans une impasse et j'ai un problème :( Après avoir longtemps cherché, sur le net et sur ce site, je n'ai pas trouvé de solutions à mon problème.

Le principe est simple.

J'ai un fichier XML contennant des données et un fichier XSL pour la mise en forme. J'ai une page PHP avec un champ de recherche. A l'envoi du formulaire, mon parseur de XML se lance puis génère ensuite un tableau HTML
 Tout fonctionne bien.

Problème : pour un soucis de respect de la casse, j'éffectue 3 lecture du fichier XML (exemple si je recherche "test", la première lecture va chercher "test", la deuxième "TEST" et la troisème "Test" pour tout couvrir). Donc j'ai 3 tableaux qui se génèrent mais en un seul, c'est à dire que cela forme un seul tableau dans lequel j'ai parfois des doublons. (Exemple si dans une description j'ai "Test" et "TEST"). Ce que je souhaite faire concrètement c'est supprimer ces doublons. Je vous serais très reconnaissant si vous pouviez m'aider.

Mon parser :

function parser2($fxml, $fxsl, $famille, $version, $auteur, $q){
 
 $xh = xslt_create();

 $file=fopen($fxml,"r");
 $xml=fread($file,1024000);
 fclose($file);

 $file=fopen($fxsl,"r");
 $xsl=fread($file,1024000);
 fclose($file);

 $arguments = array(
   '/_xml' => $xml,
   '/_xsl' => $xsl
   );
 
   $parameters = array(
   'no' => $famille,
   'no2' => $version,
   'no3' => $auteur,
   'no4' => $q
 );
 $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments, $parameters);
 $result=str_replace("array","array_unique",$result);
 
 xslt_free($xh);
 echo $result;

}

Et le lancement du parsing :

$recherche = strtolower($_POST['q']);
$recherche2 = strtoupper($_POST['q']);
$recherche3 = ucfirst($_POST['q']);
       
     parser2("./xml/faq.xml", "./xsl/faq4.xsl", "0", "0", "0", $recherche);
     parser2("./xml/faq.xml", "./xsl/faq4.xsl", "0", "0", "0", $recherche2);
     parser2("./xml/faq.xml", "./xsl/faq4.xsl", "0", "0", "0", $recherche3);

Je reste disponible si vous avez besoin d'autres renseignements. Merci d'avance pour votre aide

Akita

mardi 30 mai 2006 à 15:21:53 | Re : Problème génération tableau après avoir parsé mon XML

malalam

Administrateur CodeS-SourceS
Hello,

je ne connais pas bien les fonctions XSLT de php4...mais y a quoi dans le xsl qui traite la demande, au juste...? Parce que je ne pense pas que tu aies forcément besoin d'appeler ta fonction 3 fois pour effectuer une recherche insensible à la casse.

mardi 30 mai 2006 à 15:33:26 | Re : Problème génération tableau après avoir parsé mon XML

Akita95

Tout d'abord merci pour ta réponse.

Voila ce que contient le xsl :

<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet xmlns:xsl="
http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:php="http://php.net/xsl">
<xsl:output encoding="ISO-8859-1" method="html"/>

 <xsl:param name="no" />
 <xsl:param name="no2" />
 <xsl:param name="no3" />
 <xsl:param name="no4" />
 
 
 <xsl:template match="Synthese">
 
  <xsl:choose>
   <xsl:when test="$no='0' and $no2='0' and $no3='0'">
    
     <xsl:for-each select="Record">
      <xsl:choose>
       <xsl:when test="contains(Titre/text(),$no4) or contains(Description/text(),$no4) or contains(Solution/text(),$no4)">
        <tr>
         <td><a href="faq.php?no={./Numero}"><xsl:value-of select="Numero"/></a></td>
         <td><xsl:value-of select="Auteur"/></td>
         <td><xsl:value-of select="Date"/></td>
         <td><xsl:value-of select="Titre"/></td>
         <td><xsl:value-of select="Famille"/></td>
         <td><xsl:value-of select="Version"/></td>
        </tr>
       </xsl:when>
      </xsl:choose>
     </xsl:for-each>
    
   </xsl:when>

Merci pour ton aide :-)

mardi 30 mai 2006 à 15:53:11 | Re : Problème génération tableau après avoir parsé mon XML

malalam

Administrateur CodeS-SourceS
Ok,

jette un oeil ici :
[ Lien ]

translate () te permettra de faire fi de la casse.
En gros, tu fais l'equivalent d'un strtolower ou strtoupper comme tu veux sur les 2 arguments (text du noeud, et texte recherché), pour qu'ils aient la même casse. Il te retournera , si tu cherches Text : TEXT, text, TeXt etc...
et ce, en un seul appel.
mardi 30 mai 2006 à 15:55:49 | Re : Problème génération tableau après avoir parsé mon XML

Akita95

Excuse moi je vais paraitre un peu bête mais tu peux un peux plus expliquer ? j'ai déjà lu de la doc dessus mais j'ai pas compris  :-( ca se passe dans le xsl ? ou je dois mettre le code ?

Merci beaucoup pour ton aide :)
mercredi 31 mai 2006 à 09:10:28 | Re : Problème génération tableau après avoir parsé mon XML

Akita95

Est ce qu'il y a quelqu'un pour expliquer le TRANSLATE svp ? :-/
mercredi 31 mai 2006 à 09:13:37 | Re : Problème génération tableau après avoir parsé mon XML

malalam

Administrateur CodeS-SourceS

translate ('test', 'tes', 'TES') va renvoyer 'TEST'.

Il prend le 1er argument, et dans ce 1er argument, les lettres données dans le second, et les remplace dans le premier argument comme leur traduction dans le 3ème.

 

vendredi 2 juin 2006 à 09:26:16 | Re : Problème génération tableau après avoir parsé mon XML

Akita95

Merci mais avec ca, ca revient au même si je fais mes :

$recherche = strtolower($_POST['q']);
$recherche2 = strtoupper($_POST['q']);
$recherche3 = ucfirst($_POST['q']);

non ?

Sinon le translate faut le mettre ou ?

Merci pour ton aide
vendredi 2 juin 2006 à 09:27:36 | Re : Problème génération tableau après avoir parsé mon XML

Akita95

En fait faut que je supprime juste les doublons dans le tableau HTML que je génère mais je vois pas comment faire avec une structure comme ca


Cette discussion est classée dans : problème, file, test, xml, xsl


Répondre à ce message

Sujets en rapport avec ce message

Transformation XSL [ par sheeana_kt ] Bonjour à tous,Je suis en train de refondre mon site et je souhaite utiliser la techno XML/XSL. L'idée est d'utiliser le XML comme "bus" d'information Problème avec file_get_contents [ par Tetsuo30 ] Bonjour,j'ai un petit problème avec le fonction file_get_contentsVoici mon code :$texte = file_get_contents('test.txt'); ?>Le but c est de d'affich php et xml [ par lsamsoumal ] je cherche depuis 2 jours une solution à mon problème et je n'avance pasj'ai un code qui génére un fichier xml mais il ne l'affiche plus sur le naviga Problème pour lancer un téléchargement [ par mikadom ] Bonjour,J'explique mon problèmeEn PHP je génére un fichier CSV qui doit etre télécharger par un client dans la foulé. le problème viens que je n'arriv xml & xsl [ par Teclis01 ] Bonjour J'ai un petit soucis que je ne sais pas comment m'y prendre pour le régler... Je vous explique :)J'ai des noeuds xml qui ressemble à ceci ...# Balise Html Xml vers Xsl [ par toomsbzh ] Bonjour, je suis désolé mais je ne pense pas avoir posté au bon endroit mais bon...Voila mon souci, j'ai un fichier xml assez conséquent qui contient Problème d'encodage avec Excel [ par malik7934 ] Hello,J'ai un méchant problème d'encodage... Je m'explique : je lis un fichier xls avec file_get_contents et ensuite je récupère le contenu avec PEAR php et xslt [ par taita1 ] salut,je voudrais savoir comment faire appel à un fichier xsl à partir de php..car j'ai fais des recherches, voici ce que j'ai trouvé comme exemple:// Créer une arborescence de repertoire en xml [ par sachie ] Salut à tous , bon je précise mon truc c'est pas le php, je viens de m'y mettre par nécessité, en effet j'ai besoin de créer une arborescence xml qui Problème de test resultant d une requete sql(? à la place de é,è,à ...) [ par 666Alucard666 ] Bonjour à tous Je rencontre un problème depuis deux jours :s J'ai développer un intranet au travail. En local tous va bien! Je le met sur un serveur t


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,402 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales