Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Przypisywanie danych do zmiennych
patryk9200
post
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


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. ?>

(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
W jaki sposób też takie coś edytować?

Ten post edytował patryk9200 28.06.2009, 22:58:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


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

Ten post edytował melkorm 28.06.2009, 23:01:14
Go to the top of the page
+Quote Post
patryk9200
post
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 4
Dołączył: 7.02.2009
Skąd: pless

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


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ć?

Ten post edytował patryk9200 28.06.2009, 23:30:23
Go to the top of the page
+Quote Post
behu
post
Post #4





Grupa: Zarejestrowani
Postów: 52
Pomógł: 16
Dołączył: 8.08.2008
Skąd: London

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


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. ?>


Ten post edytował collusio 28.06.2009, 23:33:12
Go to the top of the page
+Quote Post
Pr0100
post
Post #5





Grupa: Zarejestrowani
Postów: 114
Pomógł: 24
Dołączył: 18.01.2008
Skąd: Warszawa

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


  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

Ten post edytował Pr0100 28.06.2009, 23:51:06
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: 20.09.2025 - 07:52