[php html] comment aligner 2 tableaux avec generation auto de lignes

comment aligner 2 tableaux avec generation auto de lignes [php html] - PHP - Programmation

Marsh Posté le 11-12-2002 à 14:17:15    

<html>
<body bgcolor="#8794C9">
<?php
    $dbhost="localhost";
    $dblogin="root";
    $dbpassword="";
    $dbname="intranet";
   
    //recupere le contenu du champs du fichier MenuSql.php  
   
    $nom     = $_GET["liste2"];
 
    //requete qui teste l existance du nom dans la base de donnée Mysql
     mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
    $sql_results=mysql_query("select util.nom as 'nom',util.prenom as 'prenom',util.fonction as 'fonction',
 site.nom as 'site',serv.nom as 'service',soci.nom as 'societe',util.mail 'mail',util.telephone 'telephone'  
 from utilisateurs util,site,service serv,societe soci  
 where util.id_site = site.id_site and util.id_service = serv.id_service and
    util.id_societe = soci.id_societe and serv.nom='$nom'" );
echo "<br><a href=menuSQL.php target=acceuil>Retour</a>";
//print "nom=$nom ";
print"<br><hr>\n";
print " <center>Liste téléphonique triée par <b>service</b> </center>\n";
print"<br><hr><br>\n";
print "<table border=2>\n";
print "<TR>\n" ;
print "
 
 <TD width=100>Nom</TD>\n
 <TD width=100>Prénom</TD>\n
 <TD width=100>Fonction</TD>\n
 <TD width=100>Téléphone</TD>\n
 <TD width=100>Site</TD>\n
 <TD width=100>Société</TD>\n
 <TD width=100>Service</TD>\n
 <TD width=100>Mail</TD>\n";
 
    print "</TR>\n";
if($sql_results==null) echo mysql_error();
while($row = mysql_fetch_array($sql_results))
{ print "<table border=1>\n";
     
 print "<TR>\n" ;
 print "
 
 <TD width=100>".$row['nom']. "</TD>\n
 <TD width=100>".$row['prenom']. "</TD>\n
 <TD width=100>".$row['fonction']. "</TD>\n
 <TD width=100>".$row['telephone']. "</TD>\n
 <TD width=100>".$row['site']. "</TD>\n
 <TD width=100>".$row['societe']. "</TD>\n
 <TD width=100>".$row['service']. "</TD>\n
 <TD width=100>".$row['mail']. "</TD>\n";
 
    print "</TR>\n";
}  
 mysql_close();
     
?>
</body>
</html>
 
mon probleme c est que  j ai les 2 tableaux qui sont plus alignés. commment je pourrais faire pour les aligner ?  
merci d'avance

Reply

Marsh Posté le 11-12-2002 à 14:17:15   

Reply

Marsh Posté le 11-12-2002 à 15:03:58    

personne peut m aider ??  :cry:

Reply

Marsh Posté le 11-12-2002 à 15:14:24    

déjà si tu ajoutais quelques </table> ça pourrait aider à fermer les tableaux...

Reply

Marsh Posté le 11-12-2002 à 15:15:22    

ok j essaye 2 sec

Reply

Marsh Posté le 11-12-2002 à 15:17:16    

c est pas ca  

Reply

Marsh Posté le 11-12-2002 à 15:18:01    

Heu, t'as la mémoire courte ou quoi là?
Rapelle toi, t'as lancé il y a très peu longtemps une autre discution sur le même sujet avec exactement le même code. (si si, première page du forum quand on prend la catégorie php )
Aller je t'aides : http://forum.hardware.fr/forum2.ph [...] subcat=393


Message édité par omega2 le 11-12-2002 à 15:19:00
Reply

Marsh Posté le 11-12-2002 à 15:21:38    

j avais oublié dsl mais j ai toujours le probleme

Reply

Marsh Posté le 11-12-2002 à 15:28:19    

c un probleme de html donc balance un lien vers ta page.
et c vrai qu'omega2 a deja donné des bonnes idées pr resoudre ton probleme, apparemment, le code na pas evolué bcp, c est pas comme ca que tu vas avancer


Message édité par beleg le 11-12-2002 à 15:31:26
Reply

Marsh Posté le 11-12-2002 à 15:28:44    

Est ce qu'au moins, t'avais essayé ce que je t'avais indiqué?
Par ce qu'évidemment, si tu changes rien au code, ca marcehra pas mieux. ;)
 
Bon, le truc, c'est de :

  • suprimer le print  

"<table border=1>\n";  
qu'est dans la boucle
 
et rajouter un bgcolor="codecouleur" à l'intérieur de la balise <TR> corespondant à la ligne dont tu veux changer la couleur de fond.
 
PS : Enlève le </TABLE> que t'as rajouté à la fin de la première table si tu veux pas avoir d'autre problème d'affichage


Message édité par omega2 le 11-12-2002 à 15:29:49
Reply

Marsh Posté le 11-12-2002 à 15:32:14    

beleg a écrit :

c un probleme de html donc balance un lien vers ta page.

Son, problème, c'est qu'il ouvre et referme une table pour chaque ligne qu'il veut mettre en tableau.
Après, il s'étone que toutes les colones n'ont pas exactement la même largeur d'une ligne à l'autre ligne.
 
Pour comprendre ça, il sufit d'avoir bien lu son code php, même pas besoin du code html final pour comprendre l'origine du problème.

Reply

Marsh Posté le 11-12-2002 à 15:32:14   

Reply

Marsh Posté le 11-12-2002 à 15:32:37    

:ouch:  le table est dans la boucle  :ouch:  

Reply

Marsh Posté le 11-12-2002 à 15:33:11    

beleg a écrit :

c un probleme de html donc balance un lien vers ta page.
et c vrai qu'omega2 a deja donné des bonnes idées pr resoudre ton probleme, apparemment, le code na pas evolué bcp, c est pas comme ca que tu vas avancer

Merci. ;) :)

Reply

Marsh Posté le 11-12-2002 à 15:33:24    

omega2 a écrit :

Son, problème, c'est qu'il ouvre et referme une table pour chaque ligne qu'il veut mettre en tableau.
Après, il s'étone que toutes les colones n'ont pas exactement la même largeur d'une ligne à l'autre ligne.
 
Pour comprendre ça, il sufit d'avoir bien lu son code php, même pas besoin du code html final pour comprendre l'origine du problème.


 
hihi les posts sentrecroisent, tas tt a fait raison .. mais je pensais pas voir ca un jour  :D

Reply

Marsh Posté le 11-12-2002 à 15:38:31    

beleg a écrit :


 
hihi les posts sentrecroisent, tas tt a fait raison .. mais je pensais pas voir ca un jour  :D  

Au bout d'un moment, tu finis par réaliser que tu peux tomber sur les problèmes les plus basique possible.
 
J'ai même vu un gas ce demander pourquoi le lien s'affichait pas .... alors qu'il y avait pas de texte entre le <A> et le </A>, si si, je l'ai vu ... dans mes propres pages suite à une erreur de nom de variable en récupérant le résultat d'une requête. Bon,  2 minutes après ca marchait très bien. lol
 
Bon, sans rire, ca fait deux ans que je fais un peu d'assistance aux utilisateurs et parfois tu vois de ces trucs ... après, tu n'est plus étoné quand tu vois des erreurs très basiques. ;)

Reply

Marsh Posté le 11-12-2002 à 15:47:38    

<html>
<body bgcolor="#8794C9">
<?php
    $dbhost="localhost";
    $dblogin="root";
    $dbpassword="";
    $dbname="intranet";
   
    //recupere le contenu du champs du fichier MenuSql.php  
   
    $nom     = $_GET["liste2"];
 
    //requete qui teste l existance du nom dans la base de donnée Mysql
     mysql_connect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
    $sql_results=mysql_query("select util.nom as 'nom',util.prenom as 'prenom',util.fonction as 'fonction',
 site.nom as 'site',serv.nom as 'service',soci.nom as 'societe',util.mail 'mail',util.telephone 'telephone'  
 from utilisateurs util,site,service serv,societe soci  
 where util.id_site = site.id_site and util.id_service = serv.id_service and
    util.id_societe = soci.id_societe and serv.nom='$nom'" );
echo "<br><a href=menuSQL.php target=acceuil>Retour</a>";
//print "nom=$nom ";
print"<br><hr>\n";
print " <center>Liste téléphonique triée par <b>service</b> </center>\n";
print"<br><hr><br>\n";
print "<table border=2>\n";
print "<TR>\n" ;
print "
 
 <TD width=100>Nom</TD>\n
 <TD width=100>Prénom</TD>\n
 <TD width=100>Fonction</TD>\n
 <TD width=100>Téléphone</TD>\n
 <TD width=100>Site</TD>\n
 <TD width=100>Société</TD>\n
 <TD width=100>Service</TD>\n
 <TD width=100>Mail</TD>\n";
 
    print "</TR>\n";
 
 
if($sql_results==null) echo mysql_error();
while($row = mysql_fetch_array($sql_results))
{  
     
 print "<TR>\n" ;
 print "
 
 <TD width=100>".$row['nom']. "</TD>\n
 <TD width=100>".$row['prenom']. "</TD>\n
 <TD width=100>".$row['fonction']. "</TD>\n
 <TD width=100>".$row['telephone']. "</TD>\n
 <TD width=100>".$row['site']. "</TD>\n
 <TD width=100>".$row['societe']. "</TD>\n
 <TD width=100>".$row['service']. "</TD>\n
 <TD width=100>".$row['mail']. "</TD>\n";
 
    print "</TR>\n";
 print "</table>\n";
}  
 mysql_close();
     
?>
</body>
</html>
 
bien joué ca marche voici le code qui marche  
 
merci je suis un peu lent mais ca fait une semaine que je fais du php et du html  ;)

Reply

Marsh Posté le 11-12-2002 à 15:49:19    

ben meme moi g reussi a le faire (ss aide :o) alors hein :o

Reply

Marsh Posté le 11-12-2002 à 15:49:55    

Le  print "</table>\n"; est dans la boucle... bizarre.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 11-12-2002 à 15:50:02    

sors le  
 
print "</table>\n";
 
 
de ta boucle ...
 
pour un <table> que tu ouvres tu dois avoir un </table>

Reply

Marsh Posté le 11-12-2002 à 15:50:16    

une derniere question je sais j abuse  
 
mais comment faire pour auto ajuste mon tableau ( les colonnes ) a la taille du plus long element ?

Reply

Marsh Posté le 11-12-2002 à 15:50:47    

sakuraba a écrit :

une derniere question je sais j abuse  
 
mais comment faire pour auto ajuste mon tableau ( les colonnes ) a la taille du plus long element ?

ben c auto :/

Reply

Marsh Posté le 11-12-2002 à 15:53:57    

que ca coupe a ras du plus grand

Reply

Marsh Posté le 11-12-2002 à 15:54:31    

sakuraba a écrit :

une derniere question je sais j abuse  
 
mais comment faire pour auto ajuste mon tableau ( les colonnes ) a la taille du plus long element ?

Remplace tout tes "<TD width=100>" par des "<TD width=10%>" (ou autre porcentage)
Et si tu veux que la taille se règle vraiment de manière automatique, ne met aucun width.
 
PS : Pour chaque colone, un seul width sufit, une colone ne peut en effet avoir qu'une seule largeur à la fois. ;) Tu peux donc déjà enlever tout les width à l'intérieur de la boucle (mais pas le <TD>, bref, dans la boucle tu remplaces chaque "<TD width=100>" par des "<TD>".

Reply

Marsh Posté le 11-12-2002 à 15:55:12    

ben ca le fait tou seul
 
sinon tu fait <td style="width:10px"> comme ca t sur qu'il sera pas grand.
comme ca ca va le couper au raz du plus grand :)


Message édité par Profil supprimé le 11-12-2002 à 15:55:31
Reply

Marsh Posté le 11-12-2002 à 15:56:02    

omega2 a écrit :

Remplace tout tes "<TD width=100>" par des "<TD width=10%>" (ou autre porcentage)
Et si tu veux que la taille se règle vraiment de manière automatique, ne met aucun width.
 
PS : Pour chaque colone, un seul width sufit, une colone ne peut en effet avoir qu'une seule largeur à la fois. ;) Tu peux donc déjà enlever tout les width à l'intérieur de la boucle (mais pas le <TD>, bref, dans la boucle tu remplaces chaque "<TD width=100>" par des "<TD>".

:fou:

Reply

Marsh Posté le 11-12-2002 à 16:14:38    

:D j ai compris merci les gars  :love:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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