Problème de script avec DOMXML

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

15 sept. 2006, 13:09

Si les temps de génération de page sont si proches, le problème ne vient pas de là :? il est soit plus loin dans le code, soit carrément dans la page générée (qui est longue à s'afficher en elle-même).

Eléphanteau du PHP | 14 Messages

19 sept. 2006, 08:39

Si les temps de génération de page sont si proches, le problème ne vient pas de là :? il est soit plus loin dans le code, soit carrément dans la page générée (qui est longue à s'afficher en elle-même).
Oui, je suis d'accord avec toi sur ce point, mais comment cela se fait alors que lorsque je fixe l'ID de la news à afficher l'affichage est immédiat?!?

Eléphanteau du PHP | 14 Messages

19 sept. 2006, 08:46

Bon, tout d'abord et avant d'aller plus loin, il faut débuguer le code en affichant des éspions de variables.

tu dois afficher les variables suivantes :
...
J'obtiens ça :

Path_news:
DOMXPath Object ( )

last id: 4

Crt Lang: DE

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

19 sept. 2006, 11:16

Ok, maintenant désactive la ligne suivante :
//echo  getNews($lastID,$crtLang);
Et si la réponse est immédiate (sans bien sûr l'affichage de la News) poste nous la fonction getNews(...)
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 14 Messages

21 sept. 2006, 09:06

Ok, maintenant désactive la ligne suivante :
//echo  getNews($lastID,$crtLang);
Et si la réponse est immédiate (sans bien sûr l'affichage de la News) poste nous la fonction getNews(...)
Déjà essayer, même sans cette ligne l'affichage est horriblement long! :-(

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

21 sept. 2006, 12:34

Par déduction logique, ton problème se situe alors dans la fonction :
function getNbOfElement($xpathString, $xpath){  
  $nodeList = $xpath->query($xpathString);  
  return $nodeList->length;  
} 
et notamment dans la méthode query() de l'objet $xpath

Code : Tout sélectionner

$nodeList = $xpath->query($xpathString);
Il faut débuguer cette méthode pour trouver l'erreur ou du moins l'optimiser.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Eléphanteau du PHP | 14 Messages

05 oct. 2006, 08:06

Oui, mais cette méthode est native à php 1.5, donc pas moyen de l'optimiser...

J'ai résolu mon problème en effectuant une transformation xml-xsl afin d'afficher mes news, c'est ainsi beaucoup plus rapide.