Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Które rozwiązanie jest optymalniejsze?
Forum PHP.pl > Forum > Przedszkole
lukash82
Witam,

Mam tabelę z ustawieniami do CMS (kolumny: id, nazwa, wartosc), np.:

1,szerokosc,800
2,wysokosc,600
3,ladowane obrazki,jpg

Poprostu wszystkie ustawienia CMS do kupy w jednej tabeli.

W skrypcie strony chcę się odnosić do wybranych pozycji z tabeli. I teraz pytanie, czy rozwiązanie na zasadzie każdorazowego odwoływania się do konkretnego elementu w tablicy za pomocą zapytania do bazy jest optymalne?

Tak sobie wymyśliłem, że może optymalniejszym rozwiązaniem będzie załadować całość tabeli do tablicy i odwoływać się do jej elementów. Mam wtedy jedno zapytanie do bazy, a tablica gdzieś tam może sobie wisieć w pamięci. Oczywiście tych ustawień nie będzie tu nie wiadomo ile, myślę, że max 50-100 rekordów. Jeśli ktoś może mi podpoiwedzieć, które z tych rozwiązań na dłuższą metę jest lepsze to proszę o info. Pozdrawiam, Ł.
nospor
Lepsze drugie rozwiązanie
b4rt3kk
Również uważam, że drugie rozwiązanie lepsze.
lukash82
Ok, dzięki za info. Tworzę więc taką tablicę w funkcji:

  1. function ustawienia(){
  2. $result = mysql_query("SELECT * FROM ustawienia") or die(mysql_error());
  3. while($row = mysql_fetch_array($result)){
  4. $tab[$row['ustawienia_id']] = $row['wartosc'];
  5. }
  6. return $tab[];
  7. }


i teraz jak się odwołać do takiej tablicy wewnątrz tej funkcji. Coś nie bardzo mogę sobie z tym poradzić...:/ Na pewno muszę chyba wywołać conajmniej raz tą funkcję ale potem nie wiem jak pobrać z tej tablicy określony element... Proszę o jakąś podpowiedź bo coś dzisiaj czuję niemoc...:/
b4rt3kk
Źle do tego podchodzisz. Dajmy na to, że masz plik config.php. Includujesz go tam gdzie potrzeba.


  1. function ustawienia(){
  2. $result = mysql_query("SELECT * FROM ustawienia") or die(mysql_error());
  3. $tab = array();
  4. while($row = mysql_fetch_array($result)){
  5. $tab[$row['nazwa']] = $row['wartosc'];
  6. }
  7. return $tab;
  8. }
  9.  
  10. $config = ustawienia();


Ciężko dojść co jest co, jeśli kluczem tablicy będzie id, najlepiej by była to nazwa ustawienia. Teraz tak przykładowo, choćby rozmiar czcionki pobierasz tak:

  1. $config['font_size'];
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.