Problèmes rencontrés pour la mise en page [résolu] - PHP - Programmation
Marsh Posté le 30-09-2006 à 22:54:50
plusieurs html, plusieurs head, plusieurs body.
Pas besoin d'aller plus loin avant de continuer.
Quand on fait un systéme de module pour un site, il faut penser que ce qui est affiché par la page de base plus ce qui est affiché par chaque module forme une seule et même page.
Par conséquent, si c'est la page de base qui affiche les balises "html", "body", ... alors les modules ne doivent pas le faire.
Marsh Posté le 30-09-2006 à 23:25:15
oups en effet bien vu ! je fonce modifier ça
je me demande ce que j'ai foutu quand meme j'ai ouvert des balises php pour rien en plus de celle html ça me réussi pas le codage à 2h du mat ^^
EDIT :
voilà c'est modifié ! j'en ai profité pour soigner au maximum de mes capacités la mise en page, mais je galere toujorus pour aligner mon texte où je veux qu'il apparaisse
Marsh Posté le 01-10-2006 à 16:07:23
Merci aux modos de me déplacer le sujet dans la section HTML svp je pense que ça correspond plus au thème abordé
Marsh Posté le 01-10-2006 à 16:35:04
Laisse tomber les tableaux pour la mise en page c'est préférable.
Marsh Posté le 01-10-2006 à 16:53:56
ReplyMarsh Posté le 01-10-2006 à 17:00:24
thekillerfou a écrit : Je tiens quand même à les utiliser ^^ |
Libre à toi de partir sur de mauvaises bases alors qu'il est encore temps de partir sur des bonnes
Marsh Posté le 01-10-2006 à 17:07:03
thekillerfou a écrit : je galere toujorus pour aligner mon texte où je veux qu'il apparaisse |
et tu veux qu il apparaisse ou ?
Marsh Posté le 01-10-2006 à 17:52:50
Le texte qui se charge lorsque l'on clique sur une rubrique, j'aimerai qu'il s'affiche à droite du menu tout bêtement !
Marsh Posté le 01-10-2006 à 17:57:59
Ba je renouvelle mon conseil, oublie les tableaux pour passer à une mise en page à cou de div et de css. C'est peut être pas évident au débutmais au final t'arrive à faire tout ce que tu veux, rapidement, facilement et clairement.
Marsh Posté le 01-10-2006 à 17:58:05
bah il faut le mettre dans le meme <tr> que le menu
en gros
<table>
<tr><td colspan="2">mon entete</td></tr>
<tr><td width="100">mon menu></td><td>ma page</td></tr>
<tr><td colspan="2">mon footer</td></tr>
</table>
Marsh Posté le 01-10-2006 à 17:59:34
Je crois qu'il parlais de la hauteur. Donc faut aussi définir l'alignement vertical et qui est à milieu par défaut.
Marsh Posté le 01-10-2006 à 18:09:21
donc ajouter aussi un rowspan ?
Code :
|
Voilà ce que ça donnerait si j'ai bien suivit tes insctructions mIRROR
résultat visible ici : http://vincentb5.free.fr
Marsh Posté le 01-10-2006 à 18:32:09
oups en effet, pourtant j'ai bien viré le td aux autres endroits !
faut vraiment que je me relise quand je code moi...
edit: tout de suite ça a plus de gueule !
Marsh Posté le 01-10-2006 à 22:08:39
C'était pas le débat ni ta question à laquelle tu as apparement eu réponse, mais pourquoi un tableau plutot que quelque chose d'évolutif et moins lourd comme les div + css pour ta mise en page
Marsh Posté le 01-10-2006 à 22:19:46
d habitude j aime bien jouer les ayatollahs mais c etait aprem deprime ajd donc je reprends un peu de mes forces et demain on met ca au clair
Marsh Posté le 02-10-2006 à 18:49:49
Les div je les ai utilisés sur mon site et ça m'a pas trop satisfait donc je veux tester autre chose ;-) (et ptet que si je vois que c'est pire, je reviendrais au div, mais je veux avoir eu la connaissance pour ce domaine avant)
Marsh Posté le 02-10-2006 à 19:53:39
bah comme visiblement tu savais meme pas te servir d un tableau j ai laissé faire parce que ca peut toujours servir
mais la t as une mise en page plutot simple et les divs sont beaucoup plus efficaces
pourquoi t as pas aimé ?
Marsh Posté le 02-10-2006 à 21:49:32
Parce que je suis un boulet.
Je suis sérieux, quand j'ai utilisé les div, j'ai du les copier coller sur chaque pages de mon site (une bonne cinquantaine !!!) afin qu'elles ai tous la structure du site... jusqu'au jour où j'ai voulu rajouter une rubrique à mon menu...j'ai du tout modifier...en bref j'arrivais pas à mettre dans ma petite tete une solution simple pour inserrer le php, alors que je pense bien avoir le minimum de connaissance pour le faire. Un simple question de logique.
J'ai honte de moi mais j'assume ;-)
http://leskateurdu91.free.fr <------- mon vrai site, voir la source de la page, pour les div, peut etre que vous comprendrez mieux ;-)
Marsh Posté le 02-10-2006 à 21:59:53
mdr y a de grandes trouvailles
<div align="left">
<div align="center">
<div align="left">bla bla
</div></div></div>
t as pas besoin de creer un div juste pour centrer
<div class="left">blabla</div> en html et en css
.left {text-align:center;}
un exemple pratique
<div class="menu1">
<div align="center">mon menu toussa pis les divs qui se ferment
la il suffit juste de rajouter text-align:center; dans la definition de ta class menu1 qui devrait d ailleurs etre un id et tu vires un div inutile
Marsh Posté le 02-10-2006 à 22:08:18
thekillerfou a écrit : Parce que je suis un boulet. |
Mais que tu ais un div ou un table si tu fais du dynamique ça sera la même chose
Par ailleurs, les td ou tr sans table le tout mélangé au milieux de div c'est peut être pour ça que t'as du t'arracher les cheveux pour faire ce que tu voulais
Le principe du div c'est que c'est un "cadre" en bloc, sans sens particulier sémantiquement parlant, auquel tu appliques vraiment ce que tu veux en css pour le positionner où tu veux et/ou donner du style à son contenu
Et là l'avantage sur un tableau (qui peut être le mieux pour présenter des données tabulaires, faut quand même pas se borner au div pour faire du div) c'est que tu le mets où tu veux, tu peux le faire flotter où tu veux, la taille c'est celle que tu veux (pas besoin de calculer pour du rowspan ou colspan en se plantant une fois sur deux au premier essais )...
Mais c'est vrai que ne pas se laisser tenter par l'automatisation du dimensionnement et la facilité de centrage des tableaux peut paraitre vicieux à première vue Juste à première
Marsh Posté le 02-10-2006 à 22:33:34
bon donc je refais avec mes div, mais je mixe en php un peu comme j'ai fait plus haut pour les tables... ?
Marsh Posté le 02-10-2006 à 22:49:41
Tu fais un truc du genre:
Code :
|
Après si t'as du code à générer dynamiquement, autant faire un truc qui te renvoit le résultat dans la page incluse et récupérer le résultat comme ça
Code :
|
Comme ça tu balances toute la chaine qu'à la fin sauf si tu veux le faire avant pour x raisons
Marsh Posté le 03-10-2006 à 08:45:57
ça m'a l'air tout con ton code, et pourtant je dois quand même réfléchir à la logique afin de comprendre exactement ce qui a été codé... Sinon je risque pas d'avancer avec mon site
Bref, je décortique le truc puis le modifie, je fou ça sur mon serveur, et ensuite on en rediscute
Marsh Posté le 03-10-2006 à 23:54:11
Bon j'ai bossé une bonne trentaine de minutes pour déchiffrer puis modifier un peu...est ce que j'ai tout compris, enfin, un peu mieux ?
Code :
|
Citation : Après si t'as du code à générer dynamiquement, autant faire un truc qui te renvoit le résultat dans la page incluse et récupérer le résultat comme ça |
J'ai pas tout compris ce que t'as voulu m'expliquer, si t'as le temps hésite pas à faire plus de précision
Pour mon code, merci de me dire si mes commentaires sont corrects (ils reflètent ce que j'ai compris du code)
Il y a quelques trucs qui m'intrigues...Du genre le cadre principal et le contenu, qui ne sont refermés qu'à la fin du code (les balises) ... Comment les fichier introduis (par la fonction include) savent qu'ils doivent aller dans le bloc spécifique (contenu) et non dans le bloc general (cadre principale) ? OK le cadre général enveloppe tout, donc le contenu sera forcement dedans...enfin bref, j'ai pas tout compris
bon aller il est l'heure d'aller se coucher avant que mes neuronnes se déconnectent
merci à tous en tout cas ;-)
Marsh Posté le 04-10-2006 à 00:35:12
thekillerfou a écrit : Bon j'ai bossé une bonne trentaine de minutes pour déchiffrer puis modifier un peu...est ce que j'ai tout compris, enfin, un peu mieux ?
|
1- Tu paramètres pas, tu remplis une chaine de caractère m'enfin c'est juste la façon de le dire je suppose
2- J'avais pas fait de faute moi Ta variable est vide et non déclarée donc pas besoin de . qui sert simplement à concaténer (ajouter à la suite)
3- Tu choisis pas la variable mais son contenu D'ailleurs tu le choisis pas non plus tu regardes si c'est telle ou telle chaine.
4- Pour les fermeture de div c'est l'inverse, tu fermes le dernier ouvert en premier
5- T'actives pas la variable mais tu envois simplement son contenu au navigateur, en gros tu l'affiches
Sinon dans l'ensemble tu sembles avoir compris, c'est juste le vocabulaire et la façon de voir
Pour la deuxième partie, si t'inclus des pages html directement, php va les envoyer au navigateur directement à l'endroit où tu inclus. Donc si t'as pas afficher ta variable son contenu arrivera après C'est pour ça qu'il faut vider avant
Maintenant si tu affiches un résultat dynamique, autant faire en sorte que le fichier inclu retourne une chaine que tu peux alors récupérer en faisant
Code :
|
et là plus besoin de se soucier de vider quand il faut (parce que là l'exemple est simple mais ça peut vite devenir le bordel
Mais je pense maintenant que tu peux aussi utiliser get_file_content() pour lire le contenu du fichier html et avoir ainsi une chaine et concaténer directement.
C'est juste plus propre de tout concaténer et tout vider à la fin que d'afficher ligne par ligne Après sinon y'a des tampons qui peuvent revenir au même et t'évitent d'avoir à gérer ça
Marsh Posté le 04-10-2006 à 08:43:27
Citation : 1- Tu paramètres pas, tu remplis une chaine de caractère m'enfin c'est juste la façon de le dire je suppose |
1- Oui, façon maladroite de parler
2- Oups lol j'ai jamais eu à concatener de cette manière c'est pour ça que ça m'a intrigué
3- Pas vraiment tout compris ce point là (au fait, ma variable $page a coté du switch ça correspond bien à ce que j'ai mis plus haut en commentaire ?
Citation : $page = //Je créé une variable qui changera suivant la rubrique selectionnée par l'internaute |
4- a OK donc mon contenu est une espece de "sous div" inclue dans cadre principal ^_^ alala la déduction à deux balle
5- Donc j'affiche la dernière chaine séparement des autres au début de code...
Au fait, question à cet endroit (enfin un peu plus haut) pourquoi on ferme des div dans une variable ?
Pour la seconde partie j'attends d'avoir tout corrigé le code plus haut pour m'y pencher
Marsh Posté le 04-10-2006 à 12:02:52
Tu mets tes données, là du code html dans une variable qui contient tout puisque tu rajoute petit à petit en concaténant et tu l'envois à l'affichage donc c'est ni plusni moins que si tu avais une page écrite en html
Si ça te perturbe tu mets echo partout, (à chaque ligne) et tu trifouilles pour comprendre
Marsh Posté le 04-10-2006 à 18:20:26
Donc je fais une variable globale pour TOUT le code et j'affiche cette variable sur chaque article (=page de contenu)...c'est ça ?
Marsh Posté le 09-10-2006 à 22:24:31
thekillerfou a écrit : Donc je fais une variable globale pour TOUT le code et j'affiche cette variable sur chaque article (=page de contenu)...c'est ça ? |
C'est un grand débat sur la taille mémoire nécessaire, mais je trouve ça plus propre conceptuellement que de faire des echo à chaque ligne
Au moins faire au plus un echo par bloc, pas par ligne et voir du côté des tampon de sortie
Mais sinon dans l'idée du tampon gérer à la main c'est ça
Marsh Posté le 09-10-2006 à 22:42:24
N'ayant pas obtenu de réponse (je vous en veux pas) j'ai réussi à obtenir un résultat correcte (même plus que correct) avec mes tables ^^
donc mon problème est reglé ! merci quand meme à ceux qui ont pris la peine de me répondre
Marsh Posté le 10-10-2006 à 05:48:16
thekillerfou a écrit : N'ayant pas obtenu de réponse (je vous en veux pas) j'ai réussi à obtenir un résultat correcte (même plus que correct) avec mes tables ^^ |
T'abuse, à ce niveau là c'est la même chose qu'avec un div
Ca pue les tableau pour la mise en page
Marsh Posté le 10-10-2006 à 13:06:23
En effet, mais après pas mal de "bidouilles" dans les données du tableau et dans le css on arrive à obtenir un bon résultat (bon je pense que j'ai plus galerer que si j'avais tout fait en div enfin bon)
Marsh Posté le 30-09-2006 à 21:40:37
bonjour tout le monde
Je suis en train de me refaire un site en php, mais lorsque je définis les hauteurs, largeurs etc... de mes "modules", cela ne fait jamais le résultat voulu !
voici la page de test :
http://vincentb5.free.fr
Mon problème du moment est d'aligner le texte de mes articles à coté du menu, à la même hauteur...comment faire?
Voici le code de l'index.php
a+
Message édité par thekillerfou le 09-10-2006 à 22:42:50