![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Szukam, choć przyznaję, że niezbyt intensywnie rozwiązania takiej kwestii - chciałbym, żeby pewna zmienna typu Array z php - najlepiej nietknięta - trafiła do bazy MySQL. Jest ona jedną z kilku zmiennych i chciałbym, żeby jakoś elegancko to wszystko poukładać w rekordzie, by ta tablica zajęła tylko jedno pole. Chyba nie ma takiego typu odpowiedniego. Mogę pobawić się implode() i explode() ale to nie będzie chyba zbyt dobre, bo w tej tablicy są zawarte dane, w/g których potem chciałbym, żeby można było przeszukiwać również.
Konkretnie z formularza <select multiply> wychodzi kilka opcji zaznaczonych (np. 3) do jednej zmiennej, która w tym momencie staje się tablicą. Jak przechować ją w bazie MySQL, żeby ktoś inny, wyszukując jedną z tych opcji mógł trafić na odpowiedni rekord. Z góry dzięki za pomoc! |
|
|
![]()
Post
#2
|
|
![]() Admin Techniczny Grupa: Administratorzy Postów: 2 071 Pomógł: 93 Dołączył: 5.07.2005 Skąd: Olsztyn ![]() |
jak chcesz trzymac tablice w 1 polu to zrob to jako varchar badz text i serialize" title="Zobacz w manualu PHP" target="_manual na tablicy
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
no wlasnie, tylko sie martwie czy to potem można jakoś wygodnie przeszukiwać?
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
najlepiej to sie robi na dodatkowych tablicach.
Skoro te dane bierze z selecta, to zakladam ze jest to jakis slownik. Tworzysz wiec tabele slownika: slownik: id name tabela rekordu twojego id cos tam cos tam2 tabela wiąząca slownik z tabelą rekordu id_slownik id_rekordu Do tej trzeciej tabeli będą lądowaly wpisy z zaznaczonego selecta -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym, że ten select ma powiedzmy 300 opcji, wiec tyle musiałoby być pól w rekordzie, mimo, że zazwyczaj pewnie z 5 czy 10 pól będzie dobrane do jednego rekordu i to stworzy mi strasznie nadmiarową tablicę, czy się mylę?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
Cytat strasznie nadmiarową tablicę, Nie "nadmiarową" a jedyną słuszną ![]() Tak się tworzy właśnie relacje i jest to prawidłowe projektowanie baz danych -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
wydaje mi się ze kumam
![]() ![]() sorki za dubla, znaczy dobrze kombinuje nad taka tablica? ----------------------------------------------- | id_relacji | id_klub | id_dyscyplina | ----------------------------------------------- | 0 | 53 | 24 | | 1 | 53 | 25 | | 2 | 53 | 33 | | ... | ... | ... | ----------------------------------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
ogolnie dobrze, ale te id_relacji jest zbedne.
Kluczem glownym powinien byc klucz skladający się z dwoch pol: id_klub, id_dyscyplina -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
No dobra, to teraz trudniejszy temat: a co jeśli podawane przez użytkownika dane nie są słownikowe?
konkretny przykład; działa mój skrypt podobnie jak calendar z google: na planie tygodnia można podawać rozne eventy w roznych godzinach, z opisem itd itp, zrealizowane jest to w javaskrypcie. w jakiej formie najlepiej wyciągnąć dane i do jak skonstruowanej bazy wrzucic? narzucic jakieś ograniczenie na ilosc pol rekordu (np. 256 eventów dla jednego kalendarza), czy dla kazdego kalendarza tworzyc osobną tablice, do ktorej bede wrzucac poszczegolne eventy? |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 556 Pomógł: 6314 Dołączył: 27.12.2004 ![]() |
kazdy event to rekord w tabeli.
tabela powinna posiadac min. takie pola: id name title time blabla Jesli dodatkowo chcesz powiązać te eventy z jakims kalendarzem (nie wiem o czym mowisz ale twoja sprawa ![]() id name blabla a do tabeli eventow dodac pole z id kalendarza do jakiego event nalezy: id_calendar -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 9 Dołączył: 30.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
tak proste, ze aż nie wpadłem... dziex
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.05.2025 - 06:46 |