Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> schemat bazy "prywatnych" profili, ala grono, nasza-klasa
szczypior
post
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

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


Witam

Serwisy takie jak grono czy nasza-klasa wprowadziły możliwość wyboru przez użytkownika, które dane mają być widoczne jakim użytkownikom. Tzn, można określić że imię będą widzeń wszyscy, zalogowani będą widzieć też nazwisko, a znajomi np: zdjęcia. Ciekaw jestem jak przy tego rodzaju profilach buduje się bazę, czy najlepszym rozwiązaniem jest po prostu dodanie dodatkowych pól w tabeli, w ten sposób:

  1. | id | imie | pokaz_imie | nazwisko | pokaz_nazwisko itp
  2. | 1 | Karol| wszyscy | Kowalski | zalogowani


Czy jest może lepszy, efektywniejszy sposób?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
szczypior
post
Post #2





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

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


Jeśli dobrze rozumiem:

option to ma być zmienna której wartość pobieram z bazy, czyli np: 0001001 tak?

  1. <?php
  2. $option = "0001001";
  3.  
  4. define('NAME_VISIBILITY',1); // 1 czyli bitowo 00001
  5. define('EMAIL_VISIBILITY',2); // 2 czyli bitowo 00010
  6. define('GG_VISIBILITY',4); // 4 czyli bitowo 00100
  7. define('CITY_VISIBILITY',8); // 8 czyli bitowo 01000
  8.  
  9. if($option & NAME_VISIBILITY) { echo "<p>".NAME_VISIBILITY; }
  10. if($option & NAME_VISIBILITY) { echo "<p>".EMAIL_VISIBILITY; }
  11. if($option & NAME_VISIBILITY) { echo "<p>".GG_VISIBILITY; }
  12. if($option & GG_VISIBILITY) { echo "<p>".CITY_VISIBILITY; }
  13. ?>


czyli w tym wypadku powinno się wyświetlić 1 i 8, ale wyświetla się 1,2,4.

Jak zmienię GG_VISIBILITY na 5 niezmieniając wartości $option to, ku jeszcze wiekszemu zdziwieniu wyswietla się 1,2,5,8.

Pewnie cuś robie nie tak.

Podany przez Ciebie przykład może być zastosowany gdy użytkownik decyduje co chce ujawnić a co nie. Można by go zastosować też w przypadku gdy decyduje co i komu pokazuje (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) , ale trzeba by zrobić wtedy w bazie kolumny: pokaz_wszystkim, pokaz_zalogowanym, pokaz_znajomym i takie rozwiązanie uważacie że jest najlepsze?

Ten post edytował szczypior 11.02.2008, 19:09:11
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: 15.10.2025 - 19:13