Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyświetlanie tabeli w pętli
Forum PHP.pl > Forum > PHP
felixk
Witam, proszę uprzejmie o pomoc. Piszę kod, którego zadaniem jest wylistowanie katalogu i napotkałem dwa problemy:

1. Jak dodać pliki doc tylko w kolumnie doc, a pliki pdf w kolumnie pdf?
2. Jak w kolumnie nazwa pliku umieścić tylko 1 nazwę pliku, która będzie w tym samym wierszu co plik doc i pdf


  1. if ( $handle = opendir ( $dir ) )
  2. {
  3. while ( false !== ( $file = readdir ( $handle ) ) )
  4. {
  5. if ( ( $file != '.' ) && ( $file != '..' ) )
  6. {
  7. $files[] = $file;
  8. }
  9. }
  10. closedir ( $handle );
  11. }
  12.  
  13. if ( !empty ( $files ) )
  14. {
  15.  
  16. sort ( $files );
  17.  
  18.  
  19.  
  20. <table align="center" border="1" width="100" cellpadding="0" cellspacing="0">
  21. <tr>
  22. <td>Nazwa pliku</td>
  23. <td>Plik MS Word</td>
  24. <td>Plik pdf</td>
  25.  
  26. </tr>';
  27.  
  28. for($i = 0, $c = count($files); $i < $c; $i++) {
  29.  
  30. $names[] = pathinfo($files[$i], PATHINFO_FILENAME);
  31.  
  32. echo '<tr>
  33. <td>'.$names[$i].'</td>
  34. <td>'.$files[$i].'</td>
  35. <td>'.$files[$i].'</td>';
  36.  
  37. echo'</tr>';
  38. }
  39.  
  40.  
  41.  
  42. echo '</table>';
  43. }
  44. else
  45. {
  46. echo 'Brak plików...';
  47. }


Dziękuję za pomoc.
NickOver
  1. <table>
  2. <?php
  3. foreach($files as $file){
  4. $fileData = pathinfo($file);
  5. echo '<tr>';
  6. echo '<td>'.$fileData['basename'].'</td>';
  7. if($fileData['extension'] == 'doc'){
  8. echo '<td>'.$fileData['extension'].'</td><td></td><td></td>';
  9. } elseif($fileData['extension'] == 'pdf'){
  10. echo '<td></td><td>'.$fileData['extension'].'</td><td></td>';
  11. } else {
  12. echo '<td></td><td></td><td>'.$fileData['extension'].'</td>';
  13. }
  14. echo '/tr>';
  15. }
  16. ?>
  17. </table>


O to chodziło? Wrzuć to zamiast swojej pętli for.
felixk
Generalnie chodzi  o to, że:

1. w kolumnie nazwa pliku powinny być unikalne nazwy plików wylistowane z folderu (są 2 pliki a, a.doc i a.pdf), ale do kolumny trafia tylko jedno a

2. pliki doc i pdf to linki do poszczególnych plików

Udało mi się zrobić częściowo pkt 1, ale niestety wyświetla tylko 1 rekord albo nic.

  1. if ( $handle = opendir ( $dir ) )
  2. {
  3. while ( false !== ( $file = readdir ( $handle ) ) )
  4. {
  5. if ( ( $file != '.' ) && ( $file != '..' ) )
  6. {
  7. $files[] = $file;
  8. }
  9. }
  10. closedir ( $handle );
  11. }
  12.  
  13. if ( !empty ( $files ) )
  14. {
  15.  
  16. sort ( $files );
  17.  
  18.  
  19.  
  20. <table align="center" border="1" width="100" cellpadding="0" cellspacing="0">
  21. <tr>
  22. <td>Nazwa pliku</td>
  23. <td>Plik MS Word</td>
  24. <td>Plik pdf</td>
  25.  
  26. </tr>';
  27.  
  28. foreach($files as $file){
  29. $fileData = pathinfo($file);
  30. $czysc = array_unique($files);
  31. $pdf= '-';
  32. $doc= '-';
  33.  
  34. echo '<tr>';
  35. '<td>'.$czysc[0].'</td>';
  36. echo"<td>$doc</td>
  37. <td>$pdf</td>
  38. </tr>";
  39. }
  40.  
  41. echo '</table>';
  42. }
NickOver
Nadal chyba nie rozumiem. Chodzi o coś takiego?:
| nazwa | doc | pdf |
---------------------------
| a | a.doc | a.pdf |
felixk
Cytat(NickOver @ 18.05.2016, 11:23:34 ) *
Nadal chyba nie rozumiem. Chodzi o coś takiego?:
| nazwa | doc | pdf |
---------------------------
| a | a.doc | a.pdf |


Dokładnie o to.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.