Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Piktogramy i ich rozwiazanie
podziak
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 0
Dołączył: 10.09.2005

Ostrzeżenie: (20%)
X----


Witam!!!

Problem jest natury takiej.

Otoz mam opisy pewnych firmy i powiedzmy 12 piktogramow oznaczajacych opcje.

1. Teraz jest cos takiego.
Wpisuje firme i firma ma np 6 piktogramow
Inna firma ma 8 piktogramow

Teraz chodzi o cos takiego:
a) Czy zrobic jeden rekord na pole w bazie danych... jesli tak to jak zapisywac piktogramy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) Czy stworzyc wiele rekordow dla kazdego piktogramu i sprawdzac funkcja warunkowa czy dany piktogram jest przypisany ?

2. Jak wyswietlac te piktogramy aby sie ustawialy w szyku takim
przyklad dla 12 pikt.
1 2 3 4
5 6 7 8
9 10 11 12
przyklad dla 6 roznych
3 6 8 9
10 11
Chodzi o wyswietlanie dla wersji 1a oraz 1b

Z gory dziekuje

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Proponujesz takie tabele:
Firmy
id_firmy | id_piktogramu | pozostałe atrybuty

Piktogramy
id_piktogramu | pozostałe arybuty

Rozwiązanie to jest tylko pozornie mniej pamięciożerne a napewno bardziej powodujęce nadmiarowość.
Bo jak masz firmę, która posiada 12 piktogramów to musisz dodać do tabeli firma 12 rekordów, z czego w każdym powielasz informacje o firmie i zmienia się tylko piktogram.
Trzy tabele nie powodują nadmiarowości danych, a trzymanie (nawet dużej) tabeli z powiązaniami nie jest wcale pamięciożerne.

Dwie tabele to też wyjście o ile masz pewnośc że liczba piktogramów nie będzie się zmieniać. Tylko piktogramy musiałbyuś trzymać w jednum polu jak zbiór (set). Trzy tabele gwarantują jednak dużo większą elastyczność.

Jest to typowa relacja wiele do wielu. Tabela łącząca jest najlepszym rozwiązaniem.

A co do wyświatlania:

  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4. ini_set( 'display_errors', 1 );
  5.  
  6. $arrTab = array( 1 => 12, 34, 35, 1234, 235, 23, 23, 34, 65, 76, 34 );
  7. echo '<table>';
  8. echo '<tr>';
  9. for( $i = 1, $last = sizeof( $arrTab ); $i < $last; $i++ )
  10. {
  11. if( $i % 4 == 0 )
  12. {
  13. echo '</tr><tr>';
  14. }
  15. echo '<td>' . $arrTab[ $i ] . '</td>';
  16. }
  17. echo '</tr>';
  18. echo '</table>';
  19.  
  20. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 29.12.2025 - 15:19