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

  FORUM HardWare.fr
  Programmation
  PHP

  Problème tableau php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème tableau php

n°1837997
absot77
Posté le 14-01-2009 à 21:53:48  profilanswer
 

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>

mood
Publicité
Posté le 14-01-2009 à 21:53:48  profilanswer
 

n°1838007
masklinn
í dag viðrar vel til loftárása
Posté le 14-01-2009 à 22:14:02  profilanswer
 

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
n°1838008
theredled
● REC
Posté le 14-01-2009 à 22:14:25  profilanswer
 

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
n°1838012
absot77
Posté le 14-01-2009 à 22:23:36  profilanswer
 

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

n°1838032
theredled
● REC
Posté le 14-01-2009 à 23:36:15  profilanswer
 

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
n°1838033
absot77
Posté le 14-01-2009 à 23:41:43  profilanswer
 

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>

n°1838038
theredled
● REC
Posté le 15-01-2009 à 00:07:45  profilanswer
 

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
n°1838544
absot77
Posté le 15-01-2009 à 17:59:34  profilanswer
 

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>

n°1838546
theredled
● REC
Posté le 15-01-2009 à 18:01:37  profilanswer
 

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
n°1838548
absot77
Posté le 15-01-2009 à 18:04:50  profilanswer
 

theredled a écrit :

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


 
Je les actives en écrivant où?

mood
Publicité
Posté le 15-01-2009 à 18:04:50  profilanswer
 

n°1838562
Profil sup​primé
Posté le 15-01-2009 à 18:22:59  answer
 

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

n°1838565
absot77
Posté le 15-01-2009 à 18:26:16  profilanswer
 


 
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>

n°1838569
Profil sup​primé
Posté le 15-01-2009 à 18:29:11  answer
 

si tu veux... quelles sont les erreurs ?

n°1838571
absot77
Posté le 15-01-2009 à 18:30:07  profilanswer
 

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

n°1838574
theredled
● REC
Posté le 15-01-2009 à 18:32:15  profilanswer
 


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
n°1838576
Profil sup​primé
Posté le 15-01-2009 à 18:35:08  answer
 

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 ;)

n°1838580
Profil sup​primé
Posté le 15-01-2009 à 18:37:32  answer
 

theredled a écrit :

E_ALL tout court plutôt :jap:


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

n°1838590
theredled
● REC
Posté le 15-01-2009 à 19:26:05  profilanswer
 

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
n°1838593
Profil sup​primé
Posté le 15-01-2009 à 19:28:50  answer
 

un cas concret de E_STRICT :??:

n°1838613
theredled
● REC
Posté le 15-01-2009 à 20:00:56  profilanswer
 

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
n°1839207
absot77
Posté le 16-01-2009 à 20:50:19  profilanswer
 

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;

n°1839208
absot77
Posté le 16-01-2009 à 20:50:51  profilanswer
 


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

mood
Publicité
Posté le   profilanswer
 


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

  Problème tableau php

 

Sujets relatifs
Problème de tableauProblème courant du tableau 2D
Problème tableau htmlproblème avec un modulo et un tableau html
probleme simple avec un tableauProbleme Affichage Background dans Tableau
Tableau PHP en tableau javascript : Problemeprobleme de tableau sous internet explorer
Probleme d'affichage de tableau 2d 
Plus de sujets relatifs à : Problème tableau php


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