• 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

Object Storage Arubacloud
0 głosów
577 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ź 140 wizyt
pytanie zadane 19 lipca 2017 w PHP przez T.M.Z.U Początkujący (320 p.)
+1 głos
1 odpowiedź 3,284 wizyt
0 głosów
0 odpowiedzi 270 wizyt

92,615 zapytań

141,465 odpowiedzi

319,782 komentarzy

61,997 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...