Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyszukiwanie danych (serialize)
wujek2009
post
Post #1





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Cześć.

Tworzę tabelę użytkowników i zastanawiam się nad strukturą dla pól dodatkowych (np. specyfikacja komputera [proc|ram|grafika|płyta gł]) - ogólnie takich kolumn powiedzmy będzie 9 i teraz nie wiem czy niepotrzebnie śmiecić sobie tabelę użytkowników o dodatkowe 9 kolumn czy może po prostu zrobić jedną kolumnę np. "pc_specyfikacje" i umieścić tam dane, które przefiltruje przez serialize.

Zastanawiam się nad kwestia wyszukiwania, np. sprawdzić kto ma procesor AMD a kto Intel - czy takie wyszukiwanie może być utrudnione/nieoptymalne skoro dane są przefiltrowane przez serialize?
Czy może macie inną koncepcje dodatkowych pół, które mógłbym dodawać w ACP i użytkownik edytowałby je dowolnie z poziomu swojego profilu.

Ten post edytował wujek2009 14.03.2012, 08:13:39
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
d3ut3r
post
Post #2





Grupa: Zarejestrowani
Postów: 709
Pomógł: 176
Dołączył: 24.10.2010

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


"skoro dane są przefiltrowane przez serialize" nie bardzo wiem o co chodzi (IMG:style_emoticons/default/smile.gif)

Co do twojego problemu to wyobraź sobie taki formularz,

mamy pole procesor i text do wpisania, ja wpiszę Intel xxxxx, Ktoś wpisze AMD xxxxx a ktoś inny wpisze tylko i5 a jeszcze inny wpisze Athlon.

I teraz chcąc wyszukać userów którzy mają procesory intel będziesz zmuszony zrobić zapytanie podobne do tego

  1. SELECT ..... WHERE procesor LIKE "%Intel%"


co oczywiście nie zwróci w wynikach usera który wpisał jako procesor i5.

Moim zdaniem idealnie by było zrobić tabele dla każdego ważnego dla Ciebie podzespołu

procesory
płyty główne
karty graficzne
....
itd.

następnie robisz sobie tabele konfiguracje gdzie masz:

id
id_procesora
id_karty
id_plyty
...
itd.

nastepnie robisz sobie tabele user_ref_konfiguracja:

id_usera
id_konfiguracji


pozwoli to twoim użytkownikom trzymać kilka konfiguracji komputerów (ktoś może mieć 2 komputery). Dane do bazy o procesorach i kartach graficznych możesz pobrać np z jakiegoś konfiguratora sprzętu komputerowego a później sukcesywnie dopisywać. Ale oczywiście wszystko zależy od twoich potrzeb i Ty najlepiej wiesz jakie funkcje chcesz udostępnić (IMG:style_emoticons/default/smile.gif)


Go to the top of the page
+Quote Post
wujek2009
post
Post #3





Grupa: Zarejestrowani
Postów: 350
Pomógł: 31
Dołączył: 23.05.2010

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


Kod
"skoro dane są przefiltrowane przez serialize" nie bardzo wiem o co chodzi


np. podczas edycji;
  1. $dane = array();
  2. $dane['procesor'] = 'AMD';
  3. $dane['grafika'] = 'radeon';
  4. $dane['ram'] = 'goodram';
  5.  
  6. $dane = serialize($dane); // i ten wynik idzie do kolumny "pc_specyfikacje"
  7. //a:3:{s:8:"procesor";s:3:"AMD";s:7:"grafika";s:6:"radeon";s:3:"ram";s:7:"goodram";}


Jednak tak właśnie myślałme, że musiałbym skorzystać z LIKE aby wyszukiwać danych jeśli użyłbym w/w konfiguracji.
Zdecyduje się jednak na oddzielną tabelę.
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: 23.08.2025 - 20:16