krokos.net.pl
Masz wyłączoną obsługę javascript, niektóre funkcje na stronie mogą działać nieprawidłowo
19.04.2024
Alf, Leonia, Tytus, Adolf, Tymon, Adolfina, Czesław, Leon
dziś jest : 110 dzień roku wschód słońca o : 5:44 , zachód o : 19:43 koniec roku za : 255 dni
Programowanie PHP - Wyświetlanie Danych Z Tablicy Wielowymiarowej
Jest to klasa pozwalająca na wyświetlanie danych zapisanych w postaci tablicy wielowymiarowej. Dane mogą być wyświetlone w dowolnej kolejności indeksów ($arindex), a przy dużej ilości danych można zastosować paginację z dowolną ilością wierszy na stronie ($perpage).
CODE : php
  1. /**
  2.  * displays data from a multidimensional array
  3.  * copyright : (c) 2012 Andrzej Krokos
  4.  * version PHP : 5
  5.  * author : shreker983@gmail.com
  6.  * licence : GPL
  7. */
  8.  
  9. class disp_array
  10. {
  11.     // set data
  12.     function set_data($data, $arindex, $perpage, $site)
  13.     {
  14.         $this->data = $data;
  15.         $this->arindex = $arindex;
  16.         $this->perpage = $perpage;
  17.         $this->all = count($this->data);
  18.         $this->col = count($this->arindex);
  19.         if(isset($_GET['start']))
  20.             $this->start = $_GET['start'];
  21.         else
  22.             $this->start = 0;
  23.         $this->site = $site;
  24.     }
  25.     // display data from array
  26.     function display_array()
  27.     {
  28.         $data = array_slice($this->data, $this->start, $this->perpage);
  29.         echo '<table>';
  30.         echo '<tr align="center">';
  31.         for ($i = 0; $i < $this->col; $i++)
  32.         {
  33.             echo '<td><b>'.$this->arindex[$i].'</b></td>';
  34.         }
  35.         echo '</tr>';
  36.         foreach($data as $k => $v)
  37.         {
  38.             echo '<tr>';
  39.             for ($i = 0; $i < $this->col; $i++)
  40.             {
  41.                 echo '<td>'.$data[$k][$this->arindex[$i]].'</td>';
  42.             }
  43.             echo '</tr>';
  44.         }
  45.         echo '</table>';
  46.     }
  47.     // generate & display pagination
  48.     function display_pagin($pshow)
  49.     {
  50.         echo '<p><div style="font-family: arial; font-size: 12px; font-weight: normal;">';
  51.         if ($pshow == 1)
  52.         {
  53.             $sites = ceil($this->all / $this->perpage);
  54.             if ($sites > 1)
  55.             {
  56.                 echo '(all : '.$sites.' sites) ';
  57.             }
  58.             else
  59.             {
  60.                 echo '(all : '.$sites.' site) ';
  61.             }
  62.         }
  63.         if($this->start > 0)
  64.         {
  65.             echo '<a href="'.$this->site.'?start='.($this->start - $this->perpage).'" style="text-decoration: none;"><< prev</a>';
  66.         }
  67.         if($this->start > 0 && $this->all > $this->perpage && $this->start < $this->all - $this->perpage)
  68.         {
  69.             echo ' | ';
  70.         }
  71.         if($this->all > $this->perpage && $this->start < $this->all - $this->perpage)
  72.         {
  73.             echo '<a href="'.$this->site.'?start='.($this->start + $this->perpage).'" style="text-decoration: none;">next >></a>';
  74.         }
  75.         echo '</div></p>';
  76.     }    
  77. }
  78.  
  79. // example
  80. $data = array(
  81.     1 => array('name' => 'Adam', 'adm' => '0', 'age' => '16', 'info' => '24568902'),
  82.     2 => array('name' => 'Tomasz', 'adm' => '1', 'age' => '21', 'info' => '99628763'),
  83.     3 => array('name' => 'Jan', 'adm' => '0', 'age' => '19', 'info' => '28375472'),
  84.     4 => array('name' => 'Krzysztof', 'adm' => '0', 'age' => '15', 'info' => '82632563'),
  85.     5 => array('name' => 'Wojciech', 'adm' => '0', 'age' => '16', 'info' => '22753372'),
  86.     6 => array('name' => 'Darek', 'adm' => '0', 'age' => '26', 'info' => '12562317'),
  87.     7 => array('name' => 'Janusz', 'adm' => '0', 'age' => '22', 'info' => '34565317'),
  88. );
  89.  
  90. $ar = new disp_array();
  91. $ar->set_data($data, array('name', 'adm', 'age', 'info'), 2, 'print_array.php'); // array data, name index (array), per page, path site
  92. $ar->display_array(); // display array
  93. $ar->display_pagin(1); // display pagination & option 1 or 0 - show count sites
przykład :
CODE : php
  1. $data = array(
  2.     1 => array('name' => 'Adam', 'adm' => '0', 'age' => '16', 'info' => '24568902'),
  3.     2 => array('name' => 'Tomasz', 'adm' => '1', 'age' => '21', 'info' => '99628763'),
  4.     3 => array('name' => 'Jan', 'adm' => '0', 'age' => '19', 'info' => '28375472'),
  5.     4 => array('name' => 'Krzysztof', 'adm' => '0', 'age' => '15', 'info' => '82632563'),
  6.     5 => array('name' => 'Wojciech', 'adm' => '0', 'age' => '16', 'info' => '22753372'),
  7.     6 => array('name' => 'Darek', 'adm' => '0', 'age' => '26', 'info' => '12562317'),
  8.     7 => array('name' => 'Janusz', 'adm' => '0', 'age' => '22', 'info' => '34565317'),
  9. );
  10.  
  11. $ar = new disp_array();
  12. $ar->set_data($data, array('name', 'adm', 'age', 'info'), 3, 'index.php?site=sites/prog_class_php01');
  13. $ar->display_array();
  14. $ar->display_pagin(1);
pobierz plik ( rozmiar : 1.20 kB )
ocena : 4.5(oddano : 11 głosów)
online : 3 użytkowników, dziś odwiedziło : 27 osób
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).
Pajacyk - Nakarm Głodne Dziecko
powered by scms © 2004 - 2024 design by sid