Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak rozszerzyć funkcjonalność tego skryptu?, pobieranie danych i nazw kolumn
Fallout
post 10.02.2005, 19:55:07
Post #1





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


Witam,

napisałem takie coś:

  1. <?php
  2.  
  3. // połączenie do bazy
  4. $p = mysql_connect($server,$user,$pass);
  5. // wybranie tabeli
  6. $b = mysql_select_db($db,$p);
  7. // wykonanie zapytania
  8. $tabela = pobierz_dane($sql,$p);
  9.  
  10. // ----- TABELA -------
  11.  
  12. // zliczenie wszystkich kolumn
  13. $liczba_kolumn = count($tabela);
  14. // wyrownanie indeksu dla petli
  15. $liczba_kolumn--;
  16. // naglowki kolumn w tabeli
  17. pokaz_tabele($co,$p);
  18. // wypelnianie tabeli
  19. for ($x=0; $x<=$liczba_kolumn; $x++)
  20. {
  21.  // rozpoczecie nowego wiersza
  22.  echo &#092;"<tr>\";
  23.  // wybranie kolumny
  24.  $kolumna = $tabela[$x];
  25.  // zliczenie ilosci pol
  26.  $ilosc_pol = count($kolumna);
  27.  // wybranie co 2 pola
  28.  $ilosc_pol = $ilosc_pol/2; $ilosc_pol--;
  29.  // wypis pol do kolumny
  30.  for ($y=0; $y<=$ilosc_pol; $y++)
  31. {
  32.  // wypisanie danych do komorki
  33.  echo &#092;"<td>$kolumna[$y]</td>\";
  34. }
  35.  // zakonczenie wiersza
  36.  echo &#092;"</tr>\";
  37. }
  38. echo &#092;"</table><br><br><br>\";
  39.  
  40. ?>


oraz te funkcje:

  1. <?php
  2. // pobranie wszystkich rekordow
  3. function pobierz_dane($zapytanie,$polaczenie=NULL)
  4. {
  5.  $wynik=mysql_query($zapytanie,$polaczenie);
  6.  if(mysql_num_rows($wynik)) while($wiersz=mysql_fetch_array($wynik)) $result[]=$wiersz;
  7.  return $result;
  8. }
  9.  
  10.  
  11. // pobranie naglowkow kolum
  12. function pobierz_kolumny($tabela,$polaczenie=NULL)
  13. {
  14.  if ($tabela!='_all')
  15.  {
  16.  $resResult = mysql_query( &#092;"SELECT * FROM $tabela\",$polaczenie);
  17. $arrRow = mysql_fetch_array( $resResult, MYSQL_ASSOC );
  18. foreach( $arrRow as $strKey => $strValue )
  19. {
  20.  $wynik[]=$strKey;
  21. };
  22.  return $wynik;
  23.  } else $wynik = array (&#092;"a\",\"b\",\"c\",\"d\");
  24.  
  25. }
  26.  
  27. // wyswietla tabele
  28. function pokaz_tabele($tabela,$polaczenie)
  29. {
  30.  $cols = pobierz_kolumny($tabela,$polaczenie);
  31.  echo &#092;"<table border=1><tr>\";
  32.  foreach ($cols as $nazwa)
  33.  {
  34. echo &#092;"<th>$nazwa</th>\";
  35.  }
  36.  echo &#092;"</tr>\";
  37. }
  38. ?>


a teraz pytania smile.gif

1) czy to co nabazgrałem wyżej jest sensowne, moze jest cos prostszego?
2) co do nazw kolumn.. czy jest moze jakas mozliwosc aby wg. danej nazwy podawalo mi moja nazwe.. tzn zamiast np "id_prod" naglowek mial nazwe "ID Produktu"..
3) czy zamiast if`ow da rade (i czy warto) zastosowac foreach?

z góry dzięki za odpowiedzi!

btw. strukture tabel, relacje, i przyklady dzialania tego skryptu znajdziecie w watku:
http://forum.php.pl/index.php?act=ST&f=51&...ndpost&p=152248

pozdrawiam
Marcin


--------------------
Go to the top of the page
+Quote Post
Vertical
post 10.02.2005, 19:57:38
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Ad.2. Wystarczy str_replace()
Ad.3. Nie jest najlepszym rozwiązaniem stosowanie pętli zamiast if 'ów, bo czasami skrypt może się nieźle zapętlić... Jeśli coś ma być wykonane jeden raz, lepsze są if 'y

Ten post edytował Vertical 10.02.2005, 20:01:37
Go to the top of the page
+Quote Post
Fallout
post 10.02.2005, 20:23:44
Post #3





Grupa: Zarejestrowani
Postów: 154
Pomógł: 0
Dołączył: 17.12.2003
Skąd: Olsztyn

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


Cytat(Vertical @ 2005-02-10 19:57:38)
Ad.2. Wystarczy str_replace()

No dobra.. ale ja mam pare tabel ktore maja pare kolumn.. smile.gif wiec moze np stworzyc tablice z naglowkami kolumn i ich "ludzkimi" odpowiednikami .. tylko pytanie brzmi... jak? tzn. jak zadeklarowac taka tablice i jak sie do niej odwolywac?


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 17:41