krokos.net.pl
Masz wyłączoną obsługę javascript, niektóre funkcje na stronie mogą działać nieprawidłowo
16.04.2024
Bernard, Biruta, Erwin, Cecylian, Bernadeta, Cecylia, Nikita
dziś jest : 107 dzień roku wschód słońca o : 5:50 , zachód o : 19:39 koniec roku za : 258 dni
Programowanie PHP - Wyświetlanie Danych Z Tablicy Wielowymiarowej Z Podziałem Na Kolumny
Klasa pozwala na wyświetlanie elementów tablicy w postaci tabeli z dowolną ilością kolumn ($col) i z formatowaniem w pionie bądź poziomie ($align), w zależności od potrzeb.
CODE : php
  1. /**
  2.  * distribution of multidimensional array data into columns
  3.  * copyright : (c) 2012 Andrzej Krokos
  4.  * version PHP : 5
  5.  * author : shreker983@gmail.com
  6.  * licence : GPL
  7. */
  8.  
  9. class array_per_rows
  10. {
  11.     // set data
  12.     function set_data($data, $align, $col)
  13.     {
  14.         $this->data = $data;
  15.         $this->align = $align;
  16.         $this->col = $col;
  17.         if($this->align == 'v')
  18.         {
  19.             $this->rows = $this->array_col_vertical($this->data, $this->col);  
  20.         }
  21.         else if($this->align == 'h')
  22.         {
  23.             $this->rows = $this->array_col_horizontal($this->data, $this->col);
  24.         }
  25.         else
  26.         {
  27.             $this->rows = '';
  28.         }
  29.     }
  30.     // horizontal division
  31.     function array_col_horizontal($data, $col)
  32.     {
  33.         return array_chunk($this->data, $this->col);
  34.     }
  35.     // vertical division
  36.     function array_col_vertical($data, $col)
  37.     {
  38.         $ca = array();
  39.         $col_count = ceil(count($data) / $col);
  40.         for ($ca_index = 0; $ca_index < $col_count; $ca_index++)
  41.         {
  42.             $ca[] = array();
  43.         }
  44.         $ca_index = 0;
  45.         foreach ($data as $key => $value)
  46.         {
  47.             $ca[$ca_index][$key] = $value;
  48.             if (++$ca_index == $col_count)
  49.             {
  50.                 $ca_index = 0;
  51.             }
  52.         }
  53.         return $ca;
  54.     }
  55.     // display data array
  56.     function disp_array()
  57.     {
  58.         if ($this->align == 'v' or $this->align == 'h')
  59.         {
  60.             echo '<table>';
  61.             foreach ($this->rows as $row)
  62.             {
  63.                 echo '<tr>';
  64.                 foreach ($row as $value)
  65.                 {
  66.                     echo '<td>'.$value.'</td>';
  67.                 }
  68.                 echo '</tr>';
  69.             }
  70.             echo '</table>';
  71.         }
  72.         else
  73.         {
  74.             echo 'bad set data !';
  75.         }
  76.     }
  77. }
  78. // example
  79. $items = range(1, 150);
  80. $arr = new array_per_rows();
  81. $arr->set_data($items, 'v', 8); // data from array, align (v - vertical, h - horizontal), columns
  82. $arr->disp_array();
przykład 1
CODE : php
  1. $items = range(1, 21);
  2. $arr1 = new array_per_rows();
  3. $arr1->set_data($items, 'v', 5);
  4. $arr1->disp_array();
przykład 2
CODE : php
  1. $items = range(1, 21);
  2. $arr1 = new array_per_rows();
  3. $arr1->set_data($items, 'h', 5);
  4. $arr1->disp_array();
pobierz plik ( rozmiar : 887 B )
ocena : 4.7(oddano : 10 głosów)
online : 1 użytkownik, dziś odwiedziło : 53 osoby
Zgodnie z nowelizacją ustawy o Prawie Telekomunikacyjnym informujemy, że strona krokos.net.pl w swoim działaniu korzysta z zapisywanych informacji w postaci ciasteczek (ang. cookies).
Wesprzyj Budowę Polskiego Sztucznego Serca
powered by scms © 2004 - 2024 design by sid