Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z tablicami
rummer
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.08.2009

Ostrzeżenie: (0%)
-----


Do wszystkich ludzi dobrej woli ... (IMG:style_emoticons/default/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)
Go to the top of the page
+Quote Post
Demio
post
Post #2





Grupa: Zarejestrowani
Postów: 14
Pomógł: 1
Dołączył: 22.05.2008

Ostrzeżenie: (0%)
-----


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

Ten post edytował Demio 24.08.2009, 11:06:40
Go to the top of the page
+Quote Post
rummer
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 23.08.2009

Ostrzeżenie: (0%)
-----


Niestety nadal nic (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
piotrekkr
post
Post #4





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

Ostrzeżenie: (0%)
-----


  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>';
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 13:08