• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Grupy kontaktów w bazie danych i ich reprezentacja na stronie www

Aruba Cloud - Virtual Private Server VPS
0 głosów
689 wizyt
pytanie zadane 2 stycznia 2016 w SQL, bazy danych przez Ambroz Obywatel (1,840 p.)

Witam, mam problem, gdyż chciałbym stworzyć stworzyć na stronie www reprezentacje bazy danych tak by zawierała ona grupy jak i pojedyńcze kontakty. W bazie danych mam powiedzmy 10 osób które są w tej samej grupie, np. grupa List i on mają być reprezentowani na stronie jako +List (lista rozwijana) po rozwinięciu maja mi się pokazać wszystkie kontakty w tej grupie. Natomiast pod tą grupa mają być inne kontakty, które nie należą do żadnej z grup.

A wszystkie kontakty mają być w jednej bazie danych.

Czy da się coś takiego osiągnąć, a jeśli tak to jak?

Prowizoryczna Wizualizacja:

3 odpowiedzi

+1 głos
odpowiedź 2 stycznia 2016 przez Mariusz O Mądrala (5,290 p.)

Person ( ID, Name, Surname )
Group ( ID, Name )
PersonInGroup ( ID, IDPerson, IDGroup )

Wtedy tylko kwestia HTML/CSS/JS jak to wyświetlisz.

Jeżeli to opierało by się o to, że wyświetlasz listy danej osoby... to możesz podpiąć dane grupy pod osobę:

PersonsGroup ( ID, IDPerson, IDGroup )

ew. zrobić to w jedno wielkie drzewo i dać userowi grupę domyślną "lista kontaktów" i tam dać możliwość tworzenia grup:

Person ( ID, IDGroup [domyślna grupa kontaktów], Name, Surname )
Group ( ID, IDGroup [rodzic, 0 - korzeń, lista domyślna], Name  )
PersonInGroup ( ID, IDPerson, IDGroup )

 

Jeżeli rozpiszesz swoje założenia to będzie można Ci bardziej doradzić.

+1 głos
odpowiedź 2 stycznia 2016 przez Adam Nowicki Obywatel (1,600 p.)

Robisz dwie tabele:

Wypełniasz przykładowymi danymi:

I teraz sobie wyciągasz SQL za pomocą łączenia tabel (http://www.sqlpedia.pl/laczenie-tabel-sql/) informacje. Za pomocą ifa sprawdzasz czy jest null w „Grupa”, jeśli jest to wrzucasz do listy kontaktów. A jeśli nie ma to pobierasz nazwę z „NazwaGrupy”, tworzysz na tym listę rozwijaną.

komentarz 2 stycznia 2016 przez Ambroz Obywatel (1,840 p.)
Zapomniałem jeszcze dodać, ze finalny użytkownik może jedynie dodawać osoby do bazy za pomocą formularza z excela, inaczej nie ma on wpływu na bazę.

 

Panie Adamie, jesteś pewien, że wtedy będzie to wyglądać tak jakbym chciał?

Czy Lisy i Kowalscy będą reprezentowani jako lista rozwijana?

Czy mógłbym prosić o jakiś przykładowy kod lub screen z zastosowaniem metody Adama Nowickiego oraz ze strukturą drzewa, chodzi mi o wersje gotową?

P.S Ma to wyglądać jak lista kontaktów w Outlook-u.
komentarz 2 stycznia 2016 przez Adam Nowicki Obywatel (1,600 p.)
Niestety nigdy nie bawiłem się zarządzaniem bazą danych poprzez Excela. Musisz poszukać to sam w google (np. Excel to sql; excel + sql; import excel to sql itp.)

Ja Ci pokazałem tylko jak to rozbić i ugryźć od strony bazy danych, inaczej rzecz ujmując jak wyciągnąć i przechowywać dane w bazie - to jak to przedstawisz (czy jako lista, czy jako lista rozwijana, wypis) to zależy tylko od Ciebie i tego co zrobisz z wyciągniętymi danymi.

Gotowca raczej Ci nikt nie da. Nawet nie napisałeś w jakiej technologi chcesz to zrobić, jakim języku programowania i na jakiej bazie danych.
komentarz 2 stycznia 2016 przez Ambroz Obywatel (1,840 p.)
Baza danych jest w phpMyAdmin.

Z języków to php, SQL, js, HTML, CSS.
komentarz 2 stycznia 2016 przez Adam Nowicki Obywatel (1,600 p.)

Skoro baza danych jest w phpMyAdmin to korzystasz z bazy MySQL.

 

Tworzenie nowych tabel w PhpMyAdmin:
https://www.youtube.com/watch?v=-xNmmgjVWVQ

 

Dodanie przykładowych danych w tabeli w PhpMyAdmin:

https://www.youtube.com/watch?v=EwlNtCYhxv8

 

Jeśli chodzi o zarządzanie bazą danych za pomocą excela to poczytaj o ODBC https://www.google.pl/search?q=ODBC&ie=utf-8&oe=utf-8&gws_rd=cr&ei=Wc-HVvLBDcnVywO3j5KADw#safe=off&q=odbc+excel+mysql

Do połączenia tabel przez ODBC:
https://www.google.pl/search?q=odbc+%C5%82%C4%85czenie+tabel&ie=utf-8&oe=utf-8&gws_rd=cr&ei=ONKHVs2yBoepyQPUqqSQBg

Wyciągnięcie z bazy danych (+to co dałem wyżej)
https://www.google.pl/search?q=php+%2B+mysql+%C5%82%C4%85czenie+tabel&ie=utf-8&oe=utf-8&gws_rd=cr&ei=StCHVqqcIeW1ygOt7Y6ADQ

Wyświetlanie wyciągniętych danych:
https://www.google.pl/search?q=php+wy%C5%9Bwietlanie+wyci%C4%85gni%C4%99tych+danych+z+mysql&ie=utf-8&oe=utf-8&gws_rd=cr&ei=hNCHVvmRBuTlywP3hYy4Bw

 

Całe zadanie musisz sobie rozbić na poszczególne zadania. Najpierw zrób sobie tabele, które pokazałem Ci w moim pierwszym poście (pamiętaj, żeby ID miały autonumeracje, a Grupa w tabeli kontakty mógł mieć NULL). Później je wypełnij przykładowymi danymi.

Masz już gotową bazę danych, na której możesz pracować. Czas zająć się excelem, tu z pomocą przychodzi ODBC. Poczytaj i spróbuj zmierzyć się z wyświetlaniem i zapisywaniem tych danych w excelu. Później postaraj się połączyć obie tabele i wyświetl już połączone dane. Jeśli to zrobisz to zostało Ci wyświetlanie tego na stronie PHP.

To jest już drugi etap pisania Twojej aplikacji. Ba! Można powiedzieć, że drugiej, bo osobnej - nie mającej nic wspólnego z poprzednią. Tutaj za pomocą skryptu sql musisz połączyć dane i je wyciągnąć i wyświetlić tak jak jest to w excelu. Gdy to Ci się uda to musisz zmienić wyświetlanie w taki sposób jak Ty chcesz - czyli listy, w tym rozwijane (To też możesz rozbić sobie na poszczególne etapy, np. najpierw wyświetl sobie w formie listy wszystkie kontakty bez grupy (prosta rzecz - jeden if wystarczy, który będzie sprawdzał czy tabela "grupy" jest NULLem), później wyświetl kontakty z grupy, jeśli uda Ci się wyświetlić to - to za pomocą JS zrób z tego rozwijaną listę), połącz wszystko w całość).

Jak już mówiłem - raczej gotowca Ci nikt nie da. Musisz sam poszukać, teraz już wiesz jak się za to zabrać i czego szukać. Pozdrawiam :)

 

PS. Musisz mieć świadomość, że po wyciągnięciu danych z tabeli możesz je wyświetlić w jakikolwiek sposób chcesz - to zależy tylko od Ciebie i jest to niezależne od wyciągania tych danych z bazy.

0 głosów
odpowiedź 2 stycznia 2016 przez Frendom Pasjonat (18,900 p.)
Najlatwiej to te kontakty rozbic na 2 tabele w bazie danych. Np grupy oraz kontakty. Grupy wiadomo, id nazwa grupy. W kontaktach dane osobowe oraz kolumna id_grupy. Uzytkownicy z id_grupy beda wyswietlani w danej grupie, a tam gdzie w kontaktach id grupy wynosi NULL beda wyswietlani pod grupa

Podobne pytania

0 głosów
1 odpowiedź 190 wizyt
pytanie zadane 19 lipca 2017 w PHP przez T.M.Z.U Początkujący (320 p.)
+1 głos
1 odpowiedź 4,553 wizyt
0 głosów
0 odpowiedzi 338 wizyt

93,333 zapytań

142,326 odpowiedzi

322,405 komentarzy

62,669 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...