Problème tableau php

Problème tableau php - PHP - Programmation

Marsh Posté le 14-01-2009 à 21:53:48    

Slt, je voudrais faire tableau en php seulement mon problème est que mes "tr" n'ont pas de bordures...
 
Je vous montre mon code:
 

Code :
  1. <html>
  2. <style type="text/css">
  3. body {
  4. background-color:#C0C0C0;
  5. }
  6. </style>
  7. <body>
  8. <h1>Contenu du r&eacute;pertoire</h1><hr/>
  9. <?php
  10. $messageErreur="";
  11. echo  afficheContenuDossier("documents" );
  12. //void  afficheContenuDossier( String : $nomRep )
  13. /**  
  14. * Affiche la liste des fichiuers dans le répertoire.
  15. * @param String $nomFichier  Reçoit en paramètre le nom du répertoire.  
  16. * @return void ne retourne rien .
  17. */
  18. function afficheContenuDossier($nomRep){
  19.     $curseur = opendir($nomRep);
  20.     if ($curseur != false) {
  21.   $file = readdir($curseur);
  22.   echo ("<table border=1 >" );
  23.   echo ("<tr>"."Nom  fichiers" );
  24.   while ($file != false ) {
  25.    $file = readdir($curseur);
  26.     for ($tab=0; $tab< sizeof($curseur); $tab++){
  27.     echo ( "<td>" . $file . "</td>" );
  28.     }
  29.     echo ("</tr>" );
  30.     }
  31.      echo ("</table>" );
  32.  closedir($curseur);
  33.       }
  34.         }
  35. ?>
  36. </body>
  37. </html>

Reply

Marsh Posté le 14-01-2009 à 21:53:48   

Reply

Marsh Posté le 14-01-2009 à 22:14:02    

Aucun rapport avec le PHP, c'est un problème de HTML & CSS.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 14-01-2009 à 22:14:25    

Que fais "Nom  fichiers" au milieu de nulle part ?
 
Sinon remplace border=1 par style="border:1px solid black;",
 
Ce sera toujours pas beau mais ce sera du HTML/CSS valide et maintenable :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 14-01-2009 à 22:23:36    

"Nom fichiers" veut dire que mon "tr" s'appel comme ça, c'est ma première cellule.
 
Faudrait que je le déplace où?

Reply

Marsh Posté le 14-01-2009 à 23:36:15    

Bah dans une cellule sinon ça n'a pas de sens :D
Dans un <th> si c'est un intitulé.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 14-01-2009 à 23:41:43    

Voila mon nouveau code seulement je n'arrie pas à afficher avec la fonction filesize, qu'est-ce que j'ai mal écrit?
 
Mon nouveau code:  
 

Code :
  1. <html>
  2. <style type="text/css">
  3. body {
  4. background-color:#C0C0C0;
  5. }
  6. table
  7. {
  8. border-collapse: collapse;
  9. }
  10. td, th /* Mettre une bordure sur les td ET les th */
  11. {
  12. border: 1px solid black;
  13. }
  14. </style>
  15. <body>
  16. <h1>Contenu du répertoire</h1><hr/>
  17. <?php
  18. //Variables  
  19. $messageErreur="";
  20. echo afficheContenuDossier("documents" );
  21. //void afficheContenuDossier( String : $nomRep )  
  22. /**  
  23. * Affiche la liste des fichiers dans le répertoire.  
  24. * @param String $nomFichier Reçoit en paramètre le nom du répertoire.  
  25. * @return void ne retourne rien .  
  26. */
  27. function afficheContenuDossier($nomRep){
  28. $curseur = opendir($nomRep);
  29. if ($curseur != false) {
  30. $file = readdir($curseur);
  31. echo ("<table border=1 >" );
  32. echo ("<tr>" . "<th>Nom fichiers</th>" . "<th>Taille en octets</th>" . "<th>Date dernière modification</th>" . "</tr>" );
  33. while ($file != false ) {
  34. $file = readdir($curseur);
  35. for ($tab=0; $tab< count($curseur); $tab++){
  36. echo ("<tr>" );
  37. echo ( "<td>" . $file . "</td>" );
  38. echo ("</tr>" );
  39. echo ("<tr>" );
  40. echo ( "<td>" . filesize($file) . "</td>" );
  41. echo ("</tr>" );
  42. }
  43. }
  44. echo ("</table>" );
  45. closedir($curseur);
  46. }
  47. }
  48. ?>
  49. </body>
  50. </html>

Reply

Marsh Posté le 15-01-2009 à 00:07:45    

Tu affiches bien toutes les erreurs PHP (display_errors=on, error_reporting=E_ALL) ?


Message édité par theredled le 15-01-2009 à 00:07:56

---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 15-01-2009 à 17:59:34    

Non je ne l'ai pas fait, je ne comprends pas pourquoi j'ai un problème de boucle?
 

Code :
  1. <html>
  2. <style type="text/css">
  3. body {
  4. background-color:#C0C0C0;
  5. }
  6. table
  7. {
  8.    border-collapse: collapse;
  9. }
  10. td, th /* Mettre une bordure sur les td ET les th */
  11. {
  12.    border: 1px solid black;
  13. }
  14. </style>
  15. <body>
  16. <h1>Contenu du r&eacute;pertoire</h1><hr/>
  17. <?php
  18. //Variables
  19. $messageErreur="";
  20. echo  afficheContenuDossier("documents" );
  21. //void  afficheContenuDossier( String : $nomRep )
  22. /**  
  23. * Affiche la liste des fichiers dans le répertoire.
  24. * @param String $nomFichier  Reçoit en paramètre le nom du répertoire.  
  25. * @return void ne retourne rien .
  26. */
  27. function afficheContenuDossier($nomRep){
  28.     $curseur = opendir($nomRep);
  29.      if ($curseur != false) {
  30.   $file = readdir($curseur);
  31.   echo ("<table border=1 >" );
  32.   echo ("<tr>" . "<th>Nom  fichiers</th>" . "<th>Taille en octets</th>" . "<th>Date dernière modification</th>" . "</tr>" );
  33.   while ($file != false ) {
  34.    $tableau = array($file);
  35.    if ( !(is_dir($file)) && (!filesize("./documents/".$file !==0 )) ) {
  36.     for ($i=0; $i < sizeof($tableau); $i++){
  37.     echo ("<tr>" );
  38.     echo ("<td>" . $tableau[$i] . "</td>" );
  39.     for ($i=0 ;$i<1; $i++){
  40.     echo ("<td>" . filesize("./documents/$tableau[$i]" ) . "</td>" );
  41.           }
  42.               }
  43.                     }
  44.     echo ("</tr>" );
  45.     echo ("</table>" );
  46.         }
  47.        }
  48.      closedir($curseur);
  49.         }
  50. ?>
  51. </body>
  52. </html>

Reply

Marsh Posté le 15-01-2009 à 18:01:37    

Je ne t'aiderais pas tant que tu n'auras pas activé les erreurs :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 15-01-2009 à 18:04:50    

theredled a écrit :

Je ne t'aiderais pas tant que tu n'auras pas activé les erreurs :o


 
Je les actives en écrivant où?

Reply

Marsh Posté le 15-01-2009 à 18:04:50   

Reply

Marsh Posté le 15-01-2009 à 18:22:59    

Code :
  1. //entete du script
  2. error_reporting(E_ALL | E_NOTICE);

Reply

Marsh Posté le 15-01-2009 à 18:26:16    


 
Comme ça?
 

Code :
  1. <html>
  2. <style type="text/css">
  3. </style>
  4. <body>
  5. <h1>Contenu du r&eacute;pertoire</h1><hr/>
  6. <?php
  7. //Variables
  8. $messageErreur="";
  9. error_reporting(E_ALL | E_NOTICE);
  10. echo  afficheContenuDossier("documents" );
  11. //void  afficheContenuDossier( String : $nomRep )
  12. /**  
  13. * Affiche la liste des fichiers dans le répertoire.
  14. * @param String $nomFichier  Reçoit en paramètre le nom du répertoire.  
  15. * @return void ne retourne rien .
  16. */
  17. function afficheContenuDossier($nomRep){
  18.     $curseur = opendir($nomRep);
  19.      if ($curseur != false) {
  20.   $file = readdir($curseur);
  21.   echo ("<table border=1 >" );
  22.   echo ("<tr>" . "<th>Nom  fichiers</th>" . "<th>Taille en octets</th>" . "<th>Date dernière modification</th>" . "</tr>" );
  23.   echo ("<tr>" );
  24.   while ($file != false ) {
  25.    $tableau = array($file);
  26.    if ( !(is_dir($file)) && (!filesize("./documents/".$file !==0 )) ) {
  27.     for ($i=0; $i < sizeof($tableau); $i++){
  28.     echo ("<td>" . $tableau[$i] . "</td>" );
  29.               }
  30.     for ($tab=0 ;$tab<1; $tab++){
  31.     echo ("<td>" . filesize("./documents/$tableau[$tab]" ) . "</td>" );
  32.           }
  33.                     }
  34.     echo ("</tr>" );
  35.     echo ("</table>" );
  36.         }
  37.        closedir($curseur);
  38.        }
  39.         }
  40. ?>
  41. </body>
  42. </html>

Reply

Marsh Posté le 15-01-2009 à 18:29:11    

si tu veux... quelles sont les erreurs ?

Reply

Marsh Posté le 15-01-2009 à 18:30:07    

J'ai une boucle et je ne comprends pas pourquoi..  :(

Reply

Marsh Posté le 15-01-2009 à 18:32:15    


E_ALL tout court plutôt :jap:
 
donc  

Code :
  1. error_reporting(E_ALL);


et ajoute

Code :
  1. ini_set('display_errors', 1);


 
Ou mieux :
tu modifies php.ini

Code :
  1. display_errors=On
  2. error_reporting = E_ALL


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 15-01-2009 à 18:35:08    

moi ce que je comprends pas c'est ;
- ton pb (explique un peu mieux stp ?)
- "J'ai un boucle et je ne comprends pas pourquoi" -> c-à-d ?
- $tableau = array($file);
A chaque itération du ton while, $tableau[0] = $file, çà ne sert à rien, que veux tu faire, ajouter chaque fichier au tableau ?
Dans ce cas, c'est $tableau[] = $file ;)

Reply

Marsh Posté le 15-01-2009 à 18:37:32    

theredled a écrit :

E_ALL tout court plutôt :jap:


Ah j'explicitais toujours le E_NOTICE mais si E_ALL suffit  :o

Reply

Marsh Posté le 15-01-2009 à 19:26:05    

Seul E_STRICT n'est pas contenu dans E_ALL  [:lolilol]


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 15-01-2009 à 19:28:50    

un cas concret de E_STRICT :??:

Reply

Marsh Posté le 15-01-2009 à 20:00:56    

Par ex si une méthode n'est pas précisée public/protected/private, ou autres "bonnes pratiques de dev", des normes quoi.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
Reply

Marsh Posté le 16-01-2009 à 20:50:19    

Désolé de ne revenir que maintenant mais j'ai résolu mon problème de boucle, j'ai néttoyé mon code maintenant ça fonctionne mise à part une dernière chose, apparemment mes conditions ne fonctionnent pas parce que normalement si le fichier n'a pas une extension "txt", "csv" ou "jpg", il ne devrait pas apparâitre dans mon tableau il apparait donc je ne comprends pas pourquoi surtout qu'elles ont l'air correctes.. :??:
 

Code :
  1. Merci j'ai réussi ça fonctionne, j'ai un dernier problème, mes conditions ne fonctionnent pas... :/
  2. Je ne devrais voir que les fichiers au format "txt", "csv" ou "jpg" et il m'affiche tout comme un fichier "avi" ou "png"...
  3. if ( ! isset($_REQUEST['fichier'] ) )
  4. {
  5. echo "Paramètre non renseigné";
  6. }
  7. else{
  8. $nomFichier=$_REQUEST['fichier'];
  9. if ( ! is_file($nomFichier) )
  10. {
  11. echo "Pas un fichier";
  12. }
  13. else{
  14. if ( ! ((getExtension($nomFichier)=="txt" ) or (getExtension($nomFichier)=="csv" ) or (getExtension($nomFichier)=="jpg" )))
  15. {
  16. echo "Pas un fichier";
  17. }
  18. else{
  19. if ( getExtension($nomFichier)=="txt" )
  20. {
  21. afficheFichierText( $nomFichier );
  22. }
  23. else{
  24. if (getExtension($nomFichier)=="csv" )
  25. {
  26. afficheFichierCSV( $nomFichier );
  27. }
  28. else{
  29. if (getExtension($nomFichier)=="jpg" )
  30. {
  31. afficheFichierImage($nomImage);
  32. }
  33. }
  34. }
  35. }
  36. }
  37. }
  38. function afficheFichierCSV( $nomFichier ){
  39. $lesenregistrements=array();
  40. $lesenregistrements= file($nomFichier);
  41. echo ("<table border=1>" );
  42. for ($i=0; $i< sizeof($lesenregistrements); $i++){
  43. echo ("<tr>" );
  44. $unenregistrement=array();
  45. //Range chaque champ de l'enregistrement dans un tableau (Le caractère de troncature est ";" ou ":" )  
  46. $unenregistrement= split('[;:]' ,$lesenregistrements[$i]);
  47. for ($j=0; $j< sizeof($unenregistrement); $j++){
  48. echo ( "<th>" . $unenregistrement[$j] . "</th>" );
  49. }
  50. echo ("</td>" );
  51. }
  52. }
  53. echo ("<br/>" );
  54. echo ("</table>" );
  55. //void afficheFichierText( String : $nomFichier )  
  56. /**  
  57. * Génère l'affichage du contenu du fichier de text brut (format .txt).  
  58. * @param String $nomFichier Reçoit en paramètre le nom du fichier (Plus exactement le "path" : url relative par rapport à la position de cette bibliothèque.  
  59. * @return void ne retourne rien.  
  60. */
  61. function afficheFichierText( $nomFichier ){
  62. $Fichier=$nomFichier;
  63. if ($TabFich = file($Fichier)) {
  64. for ($i = 0; $i < count ($TabFich); $i++){
  65. echo $TabFich[$i]."<br/>";
  66. }
  67. }
  68. }
  69. //string getExtension(String : $nomFic)  
  70. /**  
  71. * Retourne l'extension du fichier  
  72. * @param String $nomFic nom du fichier au format chaîne de caractères.  
  73. * @return String l'extension au format chaîne de caractères ou null s'il ni à pas d'extensions.  
  74. */
  75. function getExtension($nomFic){
  76. $trunc = split('[.]', $nomFic);
  77. if(sizeof($trunc)>1){
  78. return $trunc[sizeof($trunc)-1];
  79. }else {
  80. return null;
  81. }
  82. }
  83. function afficheFichierImage($nomImage){
  84. $image = "<img src='".$nomImage."'>";
  85. echo $image;

Reply

Marsh Posté le 16-01-2009 à 20:50:51    


 
En y réfléchissant, c'est vrai que c'est mieux comme ça..  :d

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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