Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przypisywanie danych do zmiennych
Forum PHP.pl > Forum > Przedszkole
patryk9200
Cześć,
Buduję stronę na której chcę aby można było ustawić czy dany element strony dana osoba może edytować czy nie.
W związku z tym, że takich elementów było by bardzo wiele myślę, że mało wydajne było by tworzyć w bazie danych osobne rekordy dla każdego elementu. Postanowiłem zrobić coś takiego:
zmienna będzie zawierała dane pobrane z bazy MySQL. Wyglądało by to mniej więcej tak:
  1. <?php
  2. $prawa = 'articles=1.news=1.users=0';
  3. ?>

W jaki sposób dane oddzielone "." przypisać do zmiennych np. tak:
  1. <?php
  2. $settings['articles'] = 1;
  3. $settings['news']=1;
  4. $settings['users']=0;
  5. ?>

questionmark.gif
W jaki sposób też takie coś edytować?
melkorm
hmm a nie lepiej zrobić to za pomocą tablicy konfiguracyjnej zapisanej w bazie przy pomocy serialize i później tylko to zaczytać i vualla ;P
patryk9200
Czyli np. coś takiego?
  1. <?php
  2. $settings = Array
  3. (
  4.   'user'     => '0',
  5.   'news'     => '1',
  6.   'articles' => '1',
  7. )
  8. $serialize = serialize($setting);
  9. $unserialize = unserialize($setting);
  10. ?>

A edycja np. tak:
$setting['user'] = '1';
$domysql = serialize($setting);
A tak może być?
behu
zmień kropki na & i poczytaj o parse_str" title="Zobacz w manualu PHP" target="_manual


tak na szybko:
  1. <?php
  2. $prawa = 'articles=1&news=1&users=0';
  3. parse_str($prawa, $settings);
  4.  
  5. echo $settings['articles'];   // 1
  6. echo $settings['news'];   // 1
  7. echo $settings['users'];   // 0
  8. ?>
Pr0100
  1. <?php
  2. $settings = Array
  3. (
  4.  'user'     => '0',
  5.  'news'     => '1',
  6.  'articles' => '1',
  7. )
  8. $serialize = serialize($setting);
  9.  
  10. // $serialize zapisujesz do bazy danych
  11. ?>



  1. <?php
  2. // pobierasz $serialize z bazy danych
  3.  
  4. $settings = unserialize($serialize);
  5. ?>


serialize -> przekształca dowolny typ zmiennej do stringa
unserialize -> proces odwrotny do serialize, zamienia stringa utworzonego w procesie serializacji w zmienną o pierwotnym typie
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.