Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1983 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Afficher des liste en 2 colonnes c possible ???

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Afficher des liste en 2 colonnes c possible ???

n°1002608
laurent74
Posté le 06-03-2005 à 15:28:50  profilanswer
 

voila
 
j'ai cree un scrip qui m'affiche les derniere articles, avec une pettie image, regardez :
 
http://ordigamers.com/tests.php
 
j'aimerais l'afficher en 2 colonne, comme sur la page d'acceuil du site
 
la marche a suivre est t'elle complex ?
 
je vous donne le code qui sert a affiché, enfin l'étape en html :
 

Code :
  1. $text .= "<tr >
  2.                                
  3.                                 <td style='width:100%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$content_id-$var1.html'>$var2</a> <br />
  4. <a href='articles-$content_id-$var1.html'>  <img border='0' src='http://ordigamers.com/e107_files/images/".$content_id.".jpg' align='left'vspace='4' hspace='4'> </a>      <font style='color:black'> $content_summary </font> <br></td>
  5.                                 </td>
  6.                                 </tr>";


 
si c'est d'autre chose que vosu avez besoin dite le moi,
 
Un gros gros merci a tous :)

mood
Publicité
Posté le 06-03-2005 à 15:28:50  profilanswer
 

n°1002634
omega2
Posté le 06-03-2005 à 17:12:10  profilanswer
 

T'utilises des tableaux donc oui.
Mais pour faciliter la lecture du fichier, tu ferais bien de travailler un peu plus l'indentation du code. (le décalage entre une balise et les balises qui sont à l'intérieur)
 
EDIT : C'est pas du php, mais de l'html.


Message édité par omega2 le 06-03-2005 à 17:12:53
n°1002644
laurent74
Posté le 06-03-2005 à 17:33:48  profilanswer
 

merci de ta réponse
 
mais je voudrais que ça sois sous cete forme  
 
[nom article 1][nom article 2]
[nom article 3][nom article 4]
[nom article 5][nom article 6]
 
comment pui-je faire ? est tu sur que ça releve que du html cette mise en page pour afficher la liste de mes articles recent en php ?
 
un petit exemple ?
 
merci beaucoupp, ca aiderais pas mal de personnes ça je pense ;)

n°1002652
naceroth
Posté le 06-03-2005 à 17:45:30  profilanswer
 

laurent74 a écrit :


comment pui-je faire ? est tu sur que ça releve que du html cette mise en page pour afficher la liste de mes articles recent en php ?


 
Evidement c'est de l'html, comme tout ce que php affiche d'ailleurs.
 
J'arriverais jamais à comprendre ceux qui veulent courrir (faire du php) avant de savoir marcher (utiliser l'html), y a 3 balises de bases pour faire des tableaux html, c'est quand même pas chinois, si c'est pas expliqué de base dans un tutorial...
 
Puis derrière, pour la partie php, y a juste une question de logique : quand dois-je mettre telle ou telle balise pour indiquer que je suis dans la première colonne (<tr><td> ) ou dans la deuxième (</td></tr> ), tu sais faire un test, tu as répondu à la question :)

n°1002653
laurent74
Posté le 06-03-2005 à 17:52:00  profilanswer
 

ben ecoute naceroth, j'aprecie ton message, c'est gentil de m'avoir répondu
 
mais pour faire un tableau a 2 colone, rien de plus simple, pour reprendre mon script voila comment je fait :
 
----------------------------------------------------
 
$text .= "<tr >
                               * TD 1 : 1er colonne *
                                <td style='width:100%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$content_id-$var1.html'>$var2</a> <br />
 <a href='articles-$content_id-$var1.html'>  <img border='0' src='http://ordigamers.com/e107_files/images/".$content_id.".jpg' align='left'vspace='4' hspace='4'> </a>      <font style='color:black'> $content_summary </font> <br></td>
 
                               * TD 2 : 2er colonne avec meme contenue *
<td style='width:100%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$content_id-$var1.html'>$var2</a> <br />
 <a href='articles-$content_id-$var1.html'>  <img border='0' src='http://ordigamers.com/e107_files/images/".$content_id.".jpg' align='left'vspace='4' hspace='4'> </a>      <font style='color:black'> $content_summary </font> <br></td>
                                </td></tr>";
 
----------------------------------------------------
 
bref j'ai mi 2 fois la meme ligne ,et ça m'affiche bien en 2 colonnes, comme il se doit, mais c'est 2 fois les même a chaques ligne...
 
le probleme reside dans le fait que je veut que ça sois  comme ça :
 
[nom de l'article 1][nom de l'article 2]
[nom de l'article 3][nom de l'article 4]
 
 
et la avec l'exemple que je t'ai mit, ça me fait ça :
 
[nom de l'article 1][nom de l'article 1]
[nom de l'article 2][nom de l'article 2]
 
donc je pense qu'il doit falloir un sintaxe logique en php justement non, pour lui indiqué de remplire les cases la ou il faut ??
 
Ca peut apraitre bete mais ca fait 2 jours que je buche dessus...
 
un gros merci d'avance :)


Message édité par laurent74 le 06-03-2005 à 17:52:52
n°1002658
naceroth
Posté le 06-03-2005 à 18:03:59  profilanswer
 

Citation :

bref j'ai mi 2 fois la meme ligne ,et ça m'affiche bien en 2 colonnes, comme il se doit, mais c'est 2 fois les même a chaques ligne...


 
Forcément. Quand tu lis les résultats de ta requête, tu ne les lis qu'une à une, tu ne peux pas afficher 2 colonnes en même temps (logique non ? :)). Il te faut donc savoir, quand tu lis un nouvel article si tu es dans un cas "j'affiche la première colonne" ou dans le cas "j'affiche la deuxième et je change de ligne".
 
Pour ça, tu as besoin d'une variable $colonne par exemple qui tu vas tester et affecter en fonction de la situation :  

Code :
  1. if ($colonne == 1){
  2. affiche code pour la colonne 1
  3. $colonne = 2}
  4. else{
  5. affiche code pour la colonne 2
  6. $colonne = 1}

n°1002661
omega2
Posté le 06-03-2005 à 18:06:37  profilanswer
 

Et elle est où la partie où tu vérifies dans quelle colone tu dois écrire?
Tu sais le truc là où on fait un "si on doit écrire dans la premiére colone alors ... sinon ....".

n°1002663
laurent74
Posté le 06-03-2005 à 18:11:12  profilanswer
 

oui je vien de tilte, en gros, si c'est le chiffre 1,3,5 ça s'affiche a gauche, et si c'est les chiffre 2,4,6 ça s'affiche a droite (le content_id)
 
La je vais avori besoin de ton aide, j'ai un début de script
 
if ($content_id == "2,4,6" ) {$pair == $content_id };
 
if ($content_id == "1,3,5" ) {$impair == $content_id };
 
après c tous simple
 
--------------------------------
 
$text .= "<tr >
                               * TD 1 : 1er colonne *
                                <td style='width:100%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$pair-$var1.html'>$var2</a> <br />
 <a href='articles-$pair-$var1.html'>  <img border='0' src='http://ordigamers.com/e107_files/images/".$pair.".jpg' align='left'vspace='4' hspace='4'> </a>      <font style='color:black'> $content_summary </font> <br></td>
 
                               * TD 2 : 2er colonne avec meme contenue *
<td style='width:100%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$impair-$var1.html'>$var2</a> <br />
 <a href='articles-$impair-$var1.html'>  <img border='0' src='http://ordigamers.com/e107_files/images/".$impair.".jpg' align='left'vspace='4' hspace='4'> </a>      <font style='color:black'> $content_summary </font> <br></td>
                                </td></tr>";  
 
-----------------------------------
 
Quelqu'un pourais m'aider a le fignolé ?
 
merci beaucoup


Message édité par laurent74 le 06-03-2005 à 18:13:34
n°1002664
laurent74
Posté le 06-03-2005 à 18:17:03  profilanswer
 

ou alors1 article sur 2 ca s'affiche a gauche, et 1 article sur 2 ça s'affiche a droite (insctruction donné 2 fois mais avec un décalage pour pas que ça sois les meme et que ça tombe pile poil)
 
Helpp please :-/


Message édité par laurent74 le 06-03-2005 à 18:17:21
n°1002666
omega2
Posté le 06-03-2005 à 18:21:18  profilanswer
 

Est ce que tu comprends ce que t'es entrein de faire?
 
Là ce que je vois, c'est que tu mets le contenu dans telle ou telle variable en fonction de l'indice mais qu'ensuite tu remplis quand même les deux colones à chaque coup.

mood
Publicité
Posté le 06-03-2005 à 18:21:18  profilanswer
 

n°1002673
laurent74
Posté le 06-03-2005 à 18:25:20  profilanswer
 

omega oui remplir les 2 meme colonnes, mais avec l'identification du numero de l'article a affiché, la variable est differente si tu regarde ($pair et $impair)
 
sinon j'ai decouvert ça
 
http://www.phpscripts-fr.net/porti [...] php?id=104
 
on pourais en tiré un petit quelques chose ?
 
j'ai que 6 articles a affichés sur 2 colones

n°1002702
omega2
Posté le 06-03-2005 à 18:39:25  profilanswer
 

Le principe à utiliser n'est pas :
- "je remplis une variable sur deux et cré une ligne de tableau à chaque coup"
 
Le bon principe est :
- cas un : "j'ouvres une ligne du tableau et je remplis la premiére case"
- cas deux : "je remplis la seconde case et je ferme la ligne du tableau"

n°1002719
laurent74
Posté le 06-03-2005 à 18:50:13  profilanswer
 

ho, la je montre mes limites mes amis
 
avez vous un exempel concret ? ca vaudrais mieux que de longues explications je pense
 
Merci

n°1002738
naceroth
Posté le 06-03-2005 à 19:07:16  profilanswer
 

Je pense que l'exemple, je l'ai déjà donné, avec la théorie.
 
Mais là, visiblement, il manque même les bases (comme la différence entre comparaison et affectation par exemple)

n°1002744
laurent74
Posté le 06-03-2005 à 19:14:58  profilanswer
 

oué je sais mais bon, avec ça :
 
http://www.phpscripts-fr.net/porti [...] php?id=104
 
 on peut m'aider adapter comme i lfaut ce petit script ?

n°1002749
laurent74
Posté le 06-03-2005 à 19:23:50  profilanswer
 

http://ordigamers.com/tests.php
 
c'est un jolie carnage ???

n°1002802
cerel
Posté le 06-03-2005 à 20:17:26  profilanswer
 

Je pense qu'avant que tu prennes des scripts tout cuits et que tu les adapte a ton site tu ferais mieux d'apprendre les bases, car d'apres ce que j'ai vu c'est pas encore ca...
 
Je crois qu'il faudrait que tu visite ce site : http://www.phpdebutant.org
 
De plus je viens de voir ton site... Il faut vraiment que tu apprenes les bases. Parceque bon, c'est bien joli d'avoir un doctype xhtml 1.1, mais si le reste du code ne suit pas...
 
Pour l'(x)html et css va voir ces sites :
http://openweb.eu.org
http://css.alsacreations.com
 
Ne le prends pas mal, mais la ton site ressemble plus a du bricolage qu'a autre chose.  
Je veux bien que les francais soient de grand "bricoleurs", mais faut pas pousser.
 
Je reprends l'exemple de quelqu'un "avant de vouloir courrir, faut deja aprendre a marcher..."

n°1002808
laurent74
Posté le 06-03-2005 à 20:22:47  profilanswer
 

mais le css et autres, n'a rien a voir avec mon prob ?
 
j'ai jsute besoin de 2-3 codes php
 
 
sinon mon site, bricolo, a quel point de vue ? sa qualitée en elle meme ?
 
en fait le truc ideal serait ça : http://www.lephpfacile.com/tips/index.php?p=20
 
Mais helase ca s'affiche par 2 fois la meme choses sur chaques lignes.....

n°1002818
naceroth
Posté le 06-03-2005 à 20:26:07  profilanswer
 

Comme quoi, les exemples conncret de code que tu demandes depuis tout à l'heure, tu les as trouvés tout seul :D

n°1002835
omega2
Posté le 06-03-2005 à 20:38:02  profilanswer
 

C'est clair que la validation xhtml => http://validator.w3.org/check?uri= [...] Ftests.php
782 erreurs détectés c'est impressionnants. :o
Heureusement que c'est souvent les même ;)

n°1002841
laurent74
Posté le 06-03-2005 à 20:39:43  profilanswer
 

naceroth, oui avec google, lol
 
seulement ca n'a aps l'air de fonctionner
 
voila mon code (agreablement mi en page, avec des couleurs, c'est très court) si quelqu'un pourais m'aiguiller pour adapter ce code de ce lien :
 
http://www.lephpfacile.com/tips/index.php?p=20  
 
sur mon code php :
 
http://phpdebutant.org/wall2752.php
 
voila, un immense merci car ca fait plus de 2 jours que je galeres, et la communeaute hardware m'a beaucoup aidé pour d'autres blems auparavent :)

n°1002858
omega2
Posté le 06-03-2005 à 20:48:35  profilanswer
 

Je suis désolé mais on est pas là pour faire ton travail à ta place. :( C'est la régle 0C du forum.
D'ailleur, c'est un peu comme pour la section hardware. Ils t'ont aidé à trouvé les solutions, mais ils sont pas venu chez toi pour faire eux même l'installation des drivers ou des mises à jour voire pire pour aller t'acheter ta future nouvelle carte vidéo avec ta carte banquaire à toi.
 
Là, c'est exactement pareil, on pourait te donner un script tout fait, on y perdrait surement moins de temps qu'en te poussant sur la bonne voie, mais si on fait ça, on te vérait à nouveau débarquer dans 1 heure pour un autre probléme peut être encore plus basique et ensuite demain et encore une fois mardi .... Ca ne serait bon pour personne.

n°1002873
laurent74
Posté le 06-03-2005 à 20:53:57  profilanswer
 

ben le principe c'est que je comprenne l'excemple.
 

n°1002890
omega2
Posté le 06-03-2005 à 21:00:28  profilanswer
 

Si on enléve la partie sur le fichier, y a pas plus simple comme exemple concernant les tableau html créé en php.
Là, je suis désolé mais je saurais pas mieux l'expliquer qu'eux.
Par contre, c'est vrai que dans la page que tu cites, ils ont oublié de terminer la derniére ligne si c'est pas fait dans la boucle. Mais rajouter ça, ne rendrais pas l'exemple plus simple. Ca le rendrais juste plus complet.

n°1002891
laurent74
Posté le 06-03-2005 à 21:00:53  profilanswer
 

Ou alors j'ia penser a u ntruc plus facile je pense :
 
ce script affichera les 6 dernieres articles.
 
les numero d'identification des articles, son contenues dans la variable :
 
$content_id
 
on peut chopé les different numéro ID des 6 articles comme ça par exemple
 
$listesArticles = "".$content_id.","; (une virgule aprèspour séparer les numéros, vous corrigerais si cela est pas super niveau syntaxe :) ))
 
 
ensuite, on a 2 variable : $col1 et $col2 (correspondant a la colonne 1 et la collone 2
 
 
On extrait les 3 1er chiffre de $listesArticles et on les affectes a $col1
 
of ait de même avec les 3 dernieres chiffres de $listesArticles et on les assignes a col2
 
ensuite pour afficher les articles de la collone 1 on fait
 
<td style='width:50%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$col1-$var1.html'>$var2</a>
 
et pour la colonne 2 :
 
<td style='width:50%'  > <font style='color:blue'><b> TEST :</b></font> <a style='color:black'  href='articles-$col2-$var1.html'>$var2</a>
 
on peut me donne un coup de pouce pour mettre cette methode en oeuvre ?
 
est t'elle viable ?
 
merci
 

n°1003036
cerel
Posté le 06-03-2005 à 22:13:17  profilanswer
 

Je te donne ca, bien que je ne devrais pas le faire...

Code :
  1. recuperer donnees de la base
  2. ouvrir tableau
  3. tant que donnees retournee
  4.   lire une ligne
  5.   compter la ligne
  6.   si ligne impair
  7.     afficher dans premiere colonne
  8.   sinon
  9.     afficher dans 2e colonne
  10. fin tant que
  11. si lignes totales impair
  12.   afficher 2e colonne vide
  13. fermer tableau


Je peux difficilement faire plus clair sans te donner le code. (Il y a neanmoins un petit piege dans le code ci dessus :D)
J'espere que tu te rends compte que ce que tu veux faire est basique (si ce n'est extrement basique), je suis sidere que tu n'y arrives pas, et cela prouve qu'il y a un reel probleme de connaissances des bases...


Message édité par cerel le 06-03-2005 à 22:16:04
n°1003348
laurent74
Posté le 07-03-2005 à 10:49:04  profilanswer
 

Cerel lol
 
pour tous te dire je n'ai aucune bases en php, en turbo pascal oui... (j'ai fait custom xp evolution, a dl sur clubic et telecharger.com) mais pas en php (et dieu sais comme c'est completement différent les deux languages)
 
Ho my god j'ai honte, j'ai apssé 4 heures hier avant de me couchés..; et j'en susi tjs au mémé point
 
cependant j'ai ça :
 
 
<?php
//a mettre avant le while
$nombre = 0;
 
while (...){
 
if ($nombre%2 === 0) $text .= '<tr>';
 
$text .='<td style="width:50%">';
$text .='<span style="font-weight: bold; color: #0000FF">TEST :</span>';
$text .=' <a style="color:black" href="articles-'.$content_id.'-'.$var1.'.html">';
$text .= $var2.'</a>    <br />';
$text .='<p style="color: #000000; margin-top: 0px">'.$nombre;
$text .='<a href="articles-'.$content_id.'-'.$var1.'.html">';
$text .='<img src="http://ordigamers.com/e107_files/images/'.$content_id.'.jpg" style="float: left; border: none; margin: 4px" alt="'.$var2.'"/>';
$text .='</a>'.$content_summary.'</p>';
$text .='</td>';
 
if ($nombre % 2 !== 0) $text .= '</tr>';
 
$nombre++;
}//fin while
echo $text;
?>  
 
 
un sympatique bougre de phpdebutant m'a pianoté ce code...
 
seulement ça bloque a while (...) { (le point n'est pas un argument valide d'apres le message d'erreur...)

n°1003590
cerel
Posté le 07-03-2005 à 14:18:25  profilanswer
 

Voila pourquoi on evite de donner du code tout cuit ...
Quand tu dis

Citation :

seulement ça bloque a while (...) { (le point n'est pas un argument valide d'apres le message d'erreur...)


Cela veut dire que tu as betement copie-colle le code.
Les "..." dans le while veulent dire que c'est a toi de completer le while. L'auter du code n'as pas voulu tout faire a ta place, il a par consequent laisses des trous que tu devais completer...
 
Sinon, le pascal et php c'est pas la meme chose, d'accord, mais ce n'est pas fondatelement differnent non plus...
 
De plus, si en pascal j'ecris ca :

Code :
  1. if (mavar == true) then
  2. printf("Salut\n" );
  3. printf("Resalut\n" );
  4. else
  5. printf("Pas vrai \n" );


Tu ne crois pas qu'il aurait "geule" comme quoi il y avait un probleme ?
 
Ben en php c'est la meme chose. Si tu ecris :

Code :
  1. if ($mavar==true)
  2. echo "salut \n";
  3. echo "resalut\n";
  4. else
  5. echo "pas vrai \n";


Php va aussi gueuler.
 
Et pourquoi les deux langages gueulent ?
Parceque dans le cadre de pascal il faut creer un "bloque" s'il y a plus q'une instruction entre le if et le else. Ben en php c'est la meme chose.
Donc, ne php faut creer aussi un bloc :

Code :
  1. if ($mavar==true) {
  2.   echo "salut \n";
  3.   echo "resalut\n";
  4. } else// ce bloc n'est pas indispensable
  5. // car il n'y a qu'un instruction
  6. // mais vaut mieux toujours creer des blocs
  7. // se sera plus clair, et cela facilitera l'insertion
  8. // d'instructions destinees a debuger le script.
  9. echo "pas vrai \n";
  10. }


 
Faut vraiment apprendre les bases de php.

n°1003606
KrisCool
“Verbeux„
Posté le 07-03-2005 à 14:33:17  profilanswer
 

Sinon pour ceux que la problématique du texte en colonnes multiples intéresse, il y a la proposition suivante (mais pas pour des tableaux): Column Splitter. Ca nécessite du javascript, mais on n'a rien sans rien.


---------------
Loose Change Lies | Bars | Last.fm
n°1027630
Foxus666
Posté le 28-03-2005 à 20:06:27  profilanswer
 

Up : help please

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Afficher des liste en 2 colonnes c possible ???

 

Sujets relatifs
Appeler une function par url..est-il possible?Afficher plusieurs fois la même image à différents endroits
Faire une liste de liensliste déroulant
Obtenir la liste des process Windows actif, est-ce possible?Changer la couleur d'un lien dans un CSS ? possible ou pas ?
Comment faire pour afficher une certaine divAfficher la position d'un clip
Plus de sujets relatifs à : Afficher des liste en 2 colonnes c possible ???


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR