[ PHP - MySQL ] Afficher les entrées sur plusieurs colonnes ?

Afficher les entrées sur plusieurs colonnes ? [ PHP - MySQL ] - PHP - Programmation

Marsh Posté le 06-05-2002 à 21:19:30    

J'affiche sur une page PHP des données insérées dans une base MySQL. Ces données s'affichent ligne par ligne avec une puce.
 
Seulement au fil du temps la colonne commence à être longue et j'aimerais répartir les données sur plusieurs colonnes (2 pour le moment).
 
Comment faire ?
 
 
Merci d'avance


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 06-05-2002 à 21:19:30   

Reply

Marsh Posté le 06-05-2002 à 21:25:37    

pas heu <td></td><td></td> :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 06-05-2002 à 21:26:15    

Nan, ca, ca m'affiche 1 donnée par colonne.
 
Pour résumer, quand j'arrive par ex. à 30 entrées dans 1 colonne, hop la 31e et la suite passent sur une nouvelle colonne.
 
Capishe ? :D

 

[jfdsdjhfuetppo]--Message édité par Pinzo le 06-05-2002 à 21:29:02--[/jfdsdjhfuetppo]


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 06-05-2002 à 21:34:09    

Hupe. :cry:


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 06-05-2002 à 21:37:17    

Pinzo a écrit a écrit :

Nan, ca, ca m'affiche 1 donnée par colonne.
 
Pour résumer, quand j'arrive par ex. à 30 entrées dans 1 colonne, hop la 31e et la suite passent sur une nouvelle colonne.
 
Capishe ? :D  
 
 




ba tu fais un <td></td> à la 30 ème (c'est pas du php ni du mysql, c'est du HTML)


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 06-05-2002 à 21:38:23    

joce a écrit a écrit :

 
ba tu fais un <td></td> à la 30 ème (c'est pas du php ni du mysql, c'est du HTML)  



Ok mais comment et où je le mets ce <td> ??
Vue que les données sont insérées via un formulaire. Bon à la main c'est possible mais c'est chiant. :sweat:
 
(désolé d'être newbie)


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 06-05-2002 à 22:17:40    

c un peu plus compliqué que ça...  :pt1cable:  
que pensez vous de ça ?
 
echo "<TABLE border='1'>";
$row= mysql_fetch_object($result);
while( $row ){
  $cpt=0;
  while( $row && $cpt<30){
     $tab[$cpt++].= "<TD>". $row->monAttribut ."</TD>";
     $row= mysql_fetch_object($result)
  }
}
 
//on égalise toute les lignes pour le nombre de colonnes
if (mysql_num_rows($result)>30){
  for ($i=$cpt; $i<30; $i++) {
    $tab[$i].= "<TD> </TD>";
  }
}
 
//on affiche chaque ligne
for ($i=0; $i<$cpt; $i++) {
  echo "<TR>". $tab[$i] ."</TR>";
}
 
echo "</TABLE>";
 
[edit] mouai j'ai du oublié de lire "c'est passé par un formulaireeeeeeeeee" [/edit]

 

[jfdsdjhfuetppo]--Message édité par ethernal le 06-05-2002 à 22:31:52--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 06-05-2002 à 23:58:31    

Étant débutant en PHP, où est-ce que je dois placer/remplacer ton code ? Voilà mon code d'affichage :
 
<?
 
$myhote="localhost";
$myuser="root";
$mypass="";
$base_id = mysql_connect($myhote, $myuser,$mypass);
if (!$base_id)
{
echo "Connexion à la base de données impossible !";
}
 
$mybase="testing";
if (! mysql_select_db("$mybase",$base_id))
{
echo "Impossible de sélectionner la base de données !";
}
 
$query="SELECT * FROM participants";
$resultat=mysql_query($query,$base_id);
if (!$resultat)
{
echo "Impossible d'exécuter la requête !";
}
 
while ($ligne=mysql_fetch_array($resultat))  
{  
// Affichage d'une ligne  
echo '<li><font class=titre1>' . $ligne["participants"] . '</font></li>';  
}  
 
?>


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 07-05-2002 à 00:43:13    

juste comme ça :
 
<?
 
$myhote="localhost";
$myuser="root";
$mypass="";
$base_id = mysql_connect($myhote, $myuser,$mypass);
if (!$base_id)
{
echo "Connexion à la base de données impossible !";
}
 
$mybase="testing";
if (! mysql_select_db("$mybase",$base_id))
{
echo "Impossible de sélectionner la base de données !";
}
 
$query="SELECT * FROM participants";
$resultat=mysql_query($query,$base_id);
if (!$resultat)
{
echo "Impossible d'exécuter la requête !";
}

echo "<TABLE border='1'>";
$ligne=mysql_fetch_array($resultat));
while( $ligne ){
 $cpt=0;
 while( $ligne && $cpt<30){
    $tab[$cpt++].= "<TD>". $ligne["participants"] ."</TD>";
    $ligne=mysql_fetch_array($resultat));
 }
}
 
//on égalise toute les lignes pour le nombre de colonnes
if (mysql_num_rows($resultat)>30){
 for ($i=$cpt; $i<30; $i++) {
   $tab[$i].= "<TD> </TD>";
 }
}
 
//on affiche chaque ligne
for ($i=0; $i<$cpt; $i++) {
 echo "<TR>". $tab[$i] ."</TR>";
}
 
echo "</TABLE>";

?>

 

[jfdsdjhfuetppo]--Message édité par ethernal le 07-05-2002 à 00:44:05--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 07-05-2002 à 00:46:13    

Ok merci j'essaie. :hello:


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 07-05-2002 à 00:46:13   

Reply

Marsh Posté le 07-05-2002 à 00:48:47    

Yaisse ca marche. :)
 
 
Merci bcp :hello:


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 07-05-2002 à 01:00:48    

Doit y avoir un bug de style quelque pars. Je prends un class= de on CSS (<font class=texte></font> ). Ca marche mais ca s'affiche en 12pt au lieu de 10. :sweat:


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 07-05-2002 à 01:59:21    

cool, je suis pas si movais alors :lol:
 
c koi ton problème de style ?

Reply

Marsh Posté le 07-05-2002 à 02:02:56    

Bon bah y a 2 probs de style alors. :)
 
Dans MA version, devant chaque entrée y avait une puce. Dans ta version j'arrive pas à la mettre (je sais pas où en fait). :sweat:
 
Et le texte apparait en police et taille par défaut (Times... et 12pts). J'essaie de mettre en Verdana et en 10pts. Pour la police, ok ca marche mais pas pour la taille.... ca reste en 12 pts. :sweat:

 

[jfdsdjhfuetppo]--Message édité par Pinzo le 07-05-2002 à 02:03:22--[/jfdsdjhfuetppo]


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 07-05-2002 à 02:11:13    

je sais pas si on peut mettre ue puce dans un tableau si oui :
   $tab[$cpt++].= "<TD><LI>". $ligne["participants"] ."</LI></TD>";  
 
pour la taille utilise CSS, c le plus simple
<HEAD>
<style type="text/css">
TD {
  FONT-SIZE: 10pt;
  FONT-FAMILLY: Verdana;
}
</style>
</HEAD>

Reply

Marsh Posté le 07-05-2002 à 02:14:52    

Mon sauveur ! :D :hello:
 
ca marcheuh !!!!
 
 
(pour les 2)
 
 
 :hello:


---------------
“I'll thank you very much.”
Reply

Marsh Posté le 07-05-2002 à 12:29:09    

c'est pas <li> </li> mais <ul> <li> </ul> :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 07-05-2002 à 12:34:47    

joce a écrit a écrit :

c'est pas <li> </li> mais <ul> <li> </ul> :D  




 
j'approuve, mais je me suis pas cassé la tête, c'est ce qu'il avait mis dans son premier script, alors...
 
Dis moi Joce les transfo de smileys, tu les fais à la volée lors de l'affichage ??? c koi comme serveur qui fait tourner ton php ??

Reply

Marsh Posté le 07-05-2002 à 13:02:52    

joce a écrit a écrit :

c'est pas <li> </li> mais <ul> <li> </ul> :D  




 
Ca joue son W3C-compliant :D  
 
C'est <ul><li></li></ul> :fuck:

Reply

Marsh Posté le 07-05-2002 à 14:03:27    

ethernal a écrit a écrit :

 
 
j'approuve, mais je me suis pas cassé la tête, c'est ce qu'il avait mis dans son premier script, alors...
 
Dis moi Joce les transfo de smileys, tu les fais à la volée lors de l'affichage ??? c koi comme serveur qui fait tourner ton php ??  




yep c'est à la volée

Reply

Marsh Posté le 07-05-2002 à 14:04:34    

Indiana Jones a écrit a écrit :

 
 
Ca joue son W3C-compliant :D  
 
C'est <ul><li></li></ul> :fuck:  




non le </li> n'est pas obligatoire pour la norme HTML 4.01 :kaola:

 

[jfdsdjhfuetppo]--Message édité par joce le 07-05-2002 à 14:04:42--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 07-05-2002 à 14:28:38    

joce a écrit a écrit :

 
non le </li> n'est pas obligatoire pour la norme HTML 4.01 :kaola:  
 
 




 
Ouais mais c crade quand même :kaola: <--- sympa d'avoir ajouté ce smiley à la liste des fixes

 

[jfdsdjhfuetppo]--Message édité par Indiana Jones le 07-05-2002 à 14:28:58--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 07-05-2002 à 14:31:49    

joce a écrit a écrit :

 
non le </li> n'est pas obligatoire pour la norme HTML 4.01 :kaola:  




 
C'est pas avec ce genre d'attitudes que tu facilitera le passage HTML 4 -> XHTML :p


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 07-05-2002 à 14:39:05    

On est perfectionniste, ou on ne l'est point. Certains préfèrent rester brouillons, grand bien leur fasse :)

 

[jfdsdjhfuetppo]--Message édité par Indiana Jones le 07-05-2002 à 14:39:12--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 07-05-2002 à 14:56:06    

joce a écrit a écrit :

 
yep c'est à la volée  




 
waugh  :ouch: (je suis sûr que tu t'es déjà tapé 40x cette remarqu mais bon :D)
Pourquoi vous avez décider ça lors de la conception ?
Les seules fois où il est obligatoire d'afficher un message avec les sigles de smileys, c'est lorsque l'on édite un message.
Or, en général, on consulte bcp plus que l'on n'édite.
Qd on consulte on affiche une page de 30 messages (->transformer 30x, ou bien 1x toute la page s'il y a un buffer).
Qd on édite, on ne transforme qu'un seul message (au moins un, puisque sur ce forum ils sont tous transformé).
 
Question coût de cpu, sans vouloir critiquer (c purement constructif comme remarque), c'est qd même pas le meilleur choix ?  Question place évidemment... ça consomme moins votre solution. (vous vous êtes pas trop battus pour la soluce ? :lol:)
 
En tout cas, ça pas l'air de le ralentir du tout :love:
Vous avez mis un système de cache récemment ?

Reply

Marsh Posté le 08-05-2002 à 16:17:31    

ethernal a écrit a écrit :

 
 
waugh  :ouch: (je suis sûr que tu t'es déjà tapé 40x cette remarqu mais bon :D)
Pourquoi vous avez décider ça lors de la conception ?
Les seules fois où il est obligatoire d'afficher un message avec les sigles de smileys, c'est lorsque l'on édite un message.
Or, en général, on consulte bcp plus que l'on n'édite.
Qd on consulte on affiche une page de 30 messages (->transformer 30x, ou bien 1x toute la page s'il y a un buffer).
Qd on édite, on ne transforme qu'un seul message (au moins un, puisque sur ce forum ils sont tous transformé).
 
Question coût de cpu, sans vouloir critiquer (c purement constructif comme remarque), c'est qd même pas le meilleur choix ?  Question place évidemment... ça consomme moins votre solution. (vous vous êtes pas trop battus pour la soluce ? :lol:)
 
En tout cas, ça pas l'air de le ralentir du tout :love:
Vous avez mis un système de cache récemment ?  




c'est question place oui qu'on gagne largement parce que les smileys il y en a partout, et un smiley transformé, c'est ENORME :D
Non pas de système de cache mis recemment


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 08-05-2002 à 23:53:35    

joce a écrit a écrit :

 
c'est question place oui qu'on gagne largement parce que les smileys il y en a partout, et un smiley transformé, c'est ENORME :D
Non pas de système de cache mis recemment  




 
hé hé thx pour ta réponse :)
il me semblait que le temps d'exécution des pages avait été réduit de façon drastique à certains moments (0.14... -> 0.014), c'est pourquoi je me disait que ça fctait vachement bien le cache.  ça doit être vos nouveaux serveurs alors :)

Reply

Marsh Posté le 09-05-2002 à 01:40:15    

ethernal a écrit a écrit :

 
 
hé hé thx pour ta réponse :)
il me semblait que le temps d'exécution des pages avait été réduit de façon drastique à certains moments (0.14... -> 0.014), c'est pourquoi je me disait que ça fctait vachement bien le cache.  ça doit être vos nouveaux serveurs alors :)  




non c'est surtout que j'optimise continuellement le code :D


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 09-05-2002 à 02:30:02    

joce a écrit a écrit :

 
non c'est surtout que j'optimise continuellement le code :D  




 
On les connais tes techniques... Tu selectionne 10 lignes de code au hazard et tu les deletes...

Reply

Marsh Posté le 09-05-2002 à 03:08:17    

Wanoo a écrit a écrit :

 
 
On les connais tes techniques... Tu selectionne 10 lignes de code au hazard et tu les deletes...  




:lol:


---------------
Protèges carnets personnalisés & accessoires pour bébé
Reply

Marsh Posté le 09-05-2002 à 10:13:57    

Wanoo a écrit a écrit :

 
 
On les connais tes techniques... Tu selectionne 10 lignes de code au hazard et tu les deletes...  




 
comme ça ?
http://www.ethernal.ath.cx/hfr1.jpg
:lol:
 
ps : pour ne pas avoir la toolbar de IE6 qui s'affiche qd tu passes le curseur de la souris sur une image : <META HTTP-EQUIV= "Imagetoolbar" CONTENT="no">, c'est plus beau :D

 

[jfdsdjhfuetppo]--Message édité par ethernal le 09-05-2002 à 10:17:18--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 09-05-2002 à 12:50:23    

Ca me rappelle un truc rigolo :
 
http://pikas.net.free.fr/joce1.jpg
 
 :lol:

Reply

Marsh Posté le 09-05-2002 à 14:49:38    

ca peut être utile sur certaines pages :p

Reply

Marsh Posté le 04-07-2002 à 16:09:52    

joce a écrit a écrit :

 
c'est question place oui qu'on gagne largement parce que les smileys il y en a partout, et un smiley transformé, c'est ENORME :D
Non pas de système de cache mis recemment



C'est assez surprenant comme approche. Tu préfères utiliser les expressions régulières pour afficher tes smileys à la volée ? En quoi la perte de place est génante dans le cas présent ? A moins que tu n'ai une approche très différente de ce que j'ai vu jusqu'à maintenant, je suppose que tu stockes les messages dans une table à part sur laquelle tu effectue une jointure lors de l'affichage. Si tes messages étaient dans la même table que celle qui contient leurs caractéristiques (heure, nom et IP du posteur, smiley d'illustration, etc.) je comprendrais, mais là :)

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed