Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
je débute en programmation, j'ai quelques bases, mais je n'ai aucun talent pour la prog.
bref,
je réalise un site e-commerce, et pour afficher les objets à vendre, j'aimerais pouvoir afficher le contenu de mon XML sur 2 voir 3 colonnes.
le problème c'est que je ne sais pas comment faire et que pour le moment la seule chose que j'ai réussie à faire c'est de dupliquer la première colonne dans la deuxième !
le mieux est de vous montrer en direct:
http://blackantmaster.com/Store/BeastCartoon.php
la mise en page est bonne mais pas le contenu.
Hors ligne
Saluton,
Voir le résultat ne nous aide pas beaucoup pour te suggérer de modifier le code qui l'a produit.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
ok,
voila en gros le contenu de la cellule centrale:
Hors ligne
Tu peux nous faire voir le résultat d'un var_dump($catalos) ?
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
je peux faire plein de chose mais ca faudrais d'abord que je sache comment le faire ...
Hors ligne
merci grandgourou
ca me mets un message a la c..
Hors ligne
C'est bien ce qui me semblait $catalos n'est pas un array mais un objet.
object(SimpleXMLElement)#2 (6) {
["id"]=> string(1) "1"
["nom"]=> string(12) "Young Golem "
["poly"]=> string(3) "446"
["vert"]=> string(5) " 402 "
["prix"]=> string(1) "5"
["image_princ"]=> object(SimpleXMLElement)#4 (3) {
["alt"]=> string(10) "Baby Golem"
["src"]=> string(17) "BabyGolemMini.png"
["href"]=> string(46) "http://blackantmaster.com/Store/BabyGolem.html"
}
}
Donc tu ne peux pas le parcourir avec foreach
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Donc tu ne peux pas le parcourir avec foreach
SimpleXmlElement implémente un itérateur donc c'est possible d'utiliser foreach (la preuve en image sur son site, sinon il n'y aurai rien d'affiché).
Mais nous nous écartons du problème.
Pour faire deux colonnes il suffit d'utiliser <td></td> et un compteur.
Petit exemple :
Hors ligne
SimpleXmlElement implémente un itérateur donc c'est possible d'utiliser foreach
simplexml_load_file — Convertit un fichier XML en objet
et
foreach fonctionne uniquement sur les tableaux et les objets,
Donc au temps pour moi.
Cela dit, cela ne m'explique pas pourquoi son code affichait toujours le même item dans l'objet.
D'ailleurs, avec ou sans gestion de rupture modulo 2 pour changement de ligne <tr>, ton code utilise le même foreach() sous-entendu, cela ne devrait donc rien changer de fondamental au résultat.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
ok j'ai bien compris le conditionnement par numero mais maintenant j'ai un autre probleme qui se pose:
je n'arrive pas a imbriquer des colonnes dans des lignes
explication:
je voudrais une ligne de 300 pour le titre, en dessous une ligne contenant 2 colonnes, la premiere l'image et la deuxieme la description de l'objet.
si l'agencement semble logique je l'ecris, en revanche le resultat correspond pas.
les balises dans les balises sont mises aleatoirement dans ma page, bref un gros bordel !
Hors ligne
Ton agencement de balise HTML est par contre totalement illogique.
Tu devrais relire un cours sur les tableaux HTML.
Cela dit, cela ne m'explique pas pourquoi son code affichait toujours le même item dans l'objet.
Il a dédoublé son code, il fait deux fois le chargement du XML et la boucle foreach. (cf premier post)
Hors ligne
je crois que je viens de capter mon erreur les td sont contenus dans les tr et pas l'inverse.
Hors ligne
bon, bin non, c'est bien rangé maintenant mais c'est toujours pas en colonne.
Hors ligne
Si tu veux pouvoir faire un <tr> dans ton enregistrement il faut que cela soit celui d'un autre <table> que celui qui contient tes données.
C'est le seul moyen pour obtenir des colonnes tout en gardant ton organisation titre-informations.
Hors ligne
non, j'arrives a rien, j'ai beau chercher ouper deplacer les balises ca me fait n'importe quoi.
le mieux que j'ai reussi c'est a creer un tableau avec 2 colonnes et les titres, mais les autres titres ne sont pas a la ligne et c'est encore pire si je rajoutes les images et description.
j'arrives pas a comprendre la logique du foreach.
normalement il doit executer l'action pour chaque objet et recommencer tant qu'il y'en a non ?
et surtout les faire dans l'ordre...
Hors ligne
wa! enorme ! j'ai enfin reussi a organiser colonnes lignes et tableaux comme je voullais !!
merci j'ai beaucoup appris!:D
Hors ligne
Bonsoir,
La logique d'un Foreach quoique un peu barbare parfois lors de sa découverte est cependant très simple:
Il suffit de vérifier, pour chaque index du tableau lu par foreach, la nature des données qu'il contient et d'y appliquer le traitement approprié souhaité.
Cordialement,
Jc
Dernière modification par Jc (25-04-2011 21:04:49)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Pages :: 1