Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z tablicami
Forum PHP.pl > Forum > Przedszkole
rummer
Do wszystkich ludzi dobrej woli ... biggrin.gif
Niech mi ktoś pomoże z tym php bo zły admin nie pozwala mi umieścic kodu w moim ukochanym perlu.I teraz muszę napisać kod w php z którego dopiero co się uczę.
Mam następujący kod :

  1. <?php
  2. define('KATALOG_ZDJEC','./img/');
  3. $iColumns = 3;
  4.  
  5. foreach (glob(KATALOG_ZDJEC."*.jpg") as $foto ) $aData[$x++]=$foto;
  6.  
  7.  
  8. if(count($aData) % $iColumns) {
  9. $aData = array_merge($aData, array_fill(0,
  10. $iColumns - count($aData) % $iColumns, array()));
  11. }
  12.  
  13. echo "<table>" ;
  14. foreach($aData as $iKey => $aRow) {
  15. if(!($iKey % $iColumns)) {
  16. echo "<tr>";
  17. }
  18.  
  19. echo "<td>";
  20.  
  21. if($aRow) {
  22. echo "$aRow[img]";
  23. }
  24.  
  25. echo "</td>";
  26.  
  27. if(!(($iKey-$iColumns+1) % $iColumns)) {
  28. echo "</tr>";
  29. }
  30. }
  31. echo "</table>";
  32.  
  33. ?>


Problem polega na pobraniu zawartości katalogu(zdjęć) do tablicy i potem wyświetlenie ich w tabeli.

cały kod działa poza tą pętlą :
  1. foreach (glob(KATALOG_ZDJEC."*.jpg") as $foto ) $aData[$x++]=$foto;


Miałbym jeszcze jedne pytanie. Czy dało by sie pobrać te zdjęcia przez tą pętlę bez ścieżki dostępu,samą nazwę pliku.Bo w chwili obecnej przynajmniej w teorii do tablicy pobierana jest ścieżka + nazwa pliku (np /img/1.jpg)
Demio
Może tak?

  1. <?php
  2.  
  3. define( 'KATALOG_ZDJEC', './img/' );
  4.  
  5. $iColumns = 5;
  6.  
  7. foreach ( glob(KATALOG_ZDJEC."*.jpg") as $foto )
  8.   $aData[] = $foto;
  9.  
  10. echo '<table>';
  11.  
  12. $end = false;
  13. $index = 0;
  14.  
  15. while( ! $end )
  16. {
  17.   echo "<tr>";
  18.  
  19.   for ( $i = 0; $i < $iColumns; $i++ )
  20.   {
  21.   if ( $aData[$index] )
  22.   {
  23.   $name = explode( '/', $aData[$index] );
  24.   $name = end( $name );
  25.   }
  26.   else
  27.   $end = true;
  28.    
  29.   echo '<td>' . ( $name ? $name : '0' ) . '</td>';
  30.    
  31.   $name = false;
  32.   $index++;
  33.   }
  34.  
  35.   echo "</tr>";
  36. }
  37.  
  38. echo '</table>';
  39.  
  40. ?>


Jeśli ostatni row tabeli nie jest pełny to wrzuca tam zero
rummer
Niestety nadal nic sad.gif
piotrekkr
  1. define( 'KATALOG_ZDJEC', './img/' );
  2.  
  3. $columns = 3;
  4.  
  5. foreach ( glob(KATALOG_ZDJEC."*.jpg") as $photo ){
  6.  
  7. $photos[] = $photo;
  8. }
  9.  
  10. echo '<table>';
  11. echo '<tr>';
  12. for($i = 1; $i <= count($photos); $i++){
  13. echo '<td>'.$photos[$i-1].'</td>';
  14.  
  15. if($i == count($photos)){
  16. if(count($photos) % $columns != 0)
  17. for($j = 0; $j < ($columns - count($photos) % $columns); $j++) echo "<td>0</td>";
  18. echo '</tr>';
  19. }else if($i % $columns == 0){
  20. echo '</tr><tr>';
  21. }
  22. }
  23. echo '</table>';
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.