Synchronisation php html sql...?

Mammouth du PHP | 687 Messages

09 nov. 2010, 23:18

Ok. mais le problème c'est que class="textepetit" n'est pas utilisé seulement pour l'organisme..
Et c'est la même chose pour chaque champs... je comprends le problème maintenant... donc je pense que du coup cette importation ne sera pas possible...
C'est ragent!

ViPHP
ViPHP | 5462 Messages

09 nov. 2010, 23:51

Ok. mais le problème c'est que class="textepetit" n'est pas utilisé seulement pour l'organisme..
Et c'est la même chose pour chaque champs... je comprends le problème maintenant... donc je pense que du coup cette importation ne sera pas possible...
C'est ragent!
pas de sous pusique le nom de l'oganisme c'est le 1er textepetit c'est ce a quoi correspond ->item(0) :wink:

Mammouth du PHP | 687 Messages

10 nov. 2010, 00:00

ah ok. donc il suffit en fait de mette item(1) pour la class suivante puis item(2) pour celle d'après (si bien entendu c'est la même class)... ok
Donc maintenant pour pouvoir faire cette synchronisation il faut surement renseigner l'adresse du dossier ou sont stockés les dossiers et faire un lien avec ma base de données?
C'est bien ça?
Peux-tu me mettre sur la piste stp... car c'est la première fois que je fais cette opération et je sens déjà les catastrophes arrivées! :D

Merci beaucoup!

ViPHP
ViPHP | 5462 Messages

10 nov. 2010, 00:08

la pour l'instant y'a rien dans ta base si ?

Mammouth du PHP | 687 Messages

10 nov. 2010, 00:10

Ma base contient d'autres tables mais la table correspondante à cette manip est totalement vierge... c'est celle que j'ai posté cette aprem...

Mammouth du PHP | 687 Messages

10 nov. 2010, 15:00

Bonjour,
j'ai trouvé ce tuto qui explique et illustre le fonctionnement de xpath: http://jerome.developpez.com/xmlxsl/xpath/
Le problème c'est qu'à aucun moment ils expliquent comment récupérer les infos des fichiers HTML se trouvant dans un dossier afin de les transférer dans la base sql...
sais -tu par hasard ou je peux trouver des explications supplémentaires...?
Car je pense qu'il faut créer un fichier PHP qui devra :
- établir une connexion avec le dossier contenant les fichiers HTML
- récupérer les infos des HTML grâce à xpath
- établir une connexion à la base sql
- faire un POST (je suppose) des infos récupérées pour les envoyer vers la base...

Par contre comment mettre en place tout ça...?

ViPHP
ViPHP | 5462 Messages

10 nov. 2010, 15:08

pour les dossiers c'est PHP qui s'en occupe, et ta logique est bonne

- ouvrir un connexion SQL (avec PDO ca serait bien)
- faire un requête preparer pour l'INSERT

- parcourir ton dossier avec GlobIterator par exemple

- a chaque fichier touvé on fait un instance de DOMDocument + DOMXpath
- on fait les requêtes xpath pour chaque élément, et on les stock dans un array

- on exécute notre requête preparer avec notre array

le code n'est pas très compliquer, le plus dur ca va être de faire les requêtes xpath, et de découper les résultats, par exemple toi l'adresse, code postal, ville tout est dans la même balise, il va donc falloir faire un regex dessus :?

Mammouth du PHP | 687 Messages

10 nov. 2010, 15:17

A la limite si l'adresse se suit ce n'est pas gênant...
Là ce qui me gène le plus, enfin ce qui me fait très peur c'est de coder avec des fonction que je ne connais pas... ça va être complexe je pense mais comme on dit, qui ne tente rien...

ViPHP
ViPHP | 5462 Messages

10 nov. 2010, 15:23

A la limite si l'adresse se suit ce n'est pas gênant...
Là ce qui me gène le plus, enfin ce qui me fait très peur c'est de coder avec des fonction que je ne connais pas... ça va être complexe je pense mais comme on dit, qui ne tente rien...
t'inquete pas c'est pas très compliquer,

commence par récupérer tout les fichiers html via le GlobIterator, et creer un instance DOMDocument pour chaque

Mammouth du PHP | 687 Messages

10 nov. 2010, 15:24

Ok je vais essayer...
Merci!
Je reviens vers toi pour te montrer ce que je fais et qui sait peut-être que ça pourra aider quelqu'un d'autre.

ViPHP
ViPHP | 2577 Messages

10 nov. 2010, 15:59

Bonjour,

Je suis parfois un peu bourrin, mais si j'avais ça à faire, j'utiliserai des strpos pour trouver le début de mes chaines et des substr pour découper.

Par exemple :
- une recherche de "<h1>"
- je découpe le contenu du fichier pour récupérer le contenu après "<h1>"
- une recherche de "</h1>"
- je découpe pour trouver le texte que je place dans une variable
- je garde la suite pour continuer mon découpage

A priori, en éliminant le début à chaque étape, il est possible de trouver une chaine facile à identifier à chaque fois.

Une alternative est de faire un explode sur le caractère "<" et de traiter les éléments du tableau intéressants dans la mesure ou le html à vraiment la même structure.

Mammouth du PHP | 687 Messages

10 nov. 2010, 16:08

Ok,
là je ne comprends plus rien du tout, je ne m'en sors pas...
Cette fonction ne fonctionne pas... (ce php se trouve dans le dossier des HTML)
<?php

$iterator = new GlobIterator('*.html');

printf("Trouvé %d élément(s)\r\n", $iterator->count());
?>
Je crois que je ne vais pas réussir...
Fais une chose que l'on ne conaot pas du tout c'est mission impossible je pense...

ViPHP
ViPHP | 5462 Messages

10 nov. 2010, 16:11

ton code est dans le même dossier que les html ?

Mammouth du PHP | 687 Messages

10 nov. 2010, 16:14

oui

ViPHP
ViPHP | 5462 Messages

10 nov. 2010, 16:17

oui
t'as quelle version de PHP ?