[RESOLU] xml doublons forcer dupliquer import attribut

Eléphant du PHP | 363 Messages

24 mai 2013, 16:17

Bonjour,

J'aurai pu mettre mon post dans le forum xml mais je pense qu'il s'agit plus d'un pb gérable par php.

Mon petit script génère un fichier xml que je veux ensuite intégrer dans excel seulement comme j'interroge une table et les enfants de cette table je me retrouve avec des noms de champ identique comme "titre" ou "nom" par exemple et du coup l'import semble impossible dans excel à cause du doublon. Je pourrais reprendre mon fichier xml et le corriger à la main mais je voudrais automatiser le script et repartir de l'export. Comment faire pour créer des noms de champs uniques ? Je ne sais pas si je suis claire...

Partons du cas suivant, sortir une célébrité (table celebrites) et ses enfants (table enfants) associés sur la même ligne dans mon xml

J'arrive à ce résultat (exemple à la con)
prenom nom age taille poids prenom nom cheveux
johnny hallyday 70 180 80 laura smet chatains
...
Impossible car doublons...Je "voudrais" :

prenom nom age taille poids prenom2 nom2 cheveux (éventuellement cheveux2)
johnny hallyday 70 180 80 laura smet chatains

prenom3 pour un troisieme enfant...etc

Comment faire ?

J'ai mon foreach pour les celebrites dans lequel j'ai un foreach pour les enfants de la celebrité en question.
foreach ($celebrites as $celebrite)
{
$attribut = $enfant->attribut;
$valeur = $enfant->value;
...
j'intègre dans mon xml
...
             foreach ($enfants as $enfant)
             {
             $attribut = $enfant->attribut;
             $valeur = $enfant->value;
             ...
             ici j'ajoute l'enfant
             ...
             }
}
Comment faire ? C'est quoi la bonne logique ?

Merci de votre aide.

Tite fée !
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

25 mai 2013, 11:29

salut,

La solution serait peut être d'architecturer correctement le fichier final, sans doublon d'info, ajoute simplement une référence au parent?

ensuite pour être exploité par excel tu peux simplement faire une fichier csv ?


sinon nom correctement les colonnes, comme tu l'a fait dans ton exemple


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 363 Messages

03 juin 2013, 12:35

j'ai trouvé en passant une variable compteur dans la boucle du dessus. Pour le coup, je n'ai pas de nom1 nom2 mais nom1 nom9 avec d'autres attributs entre les 2 qui me permettent d'avoir une unicité de colonne. C'est ce qui m'importait, MERCI moogli (toujours les mêmes :D)
Dis-donc fossoyeur, t'as une dent contre moi ou quoi ?