![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 31.01.2004 Ostrzeżenie: (20%) ![]() ![]() |
Krótkie wprowadzenie. To jest baza mailowa do newslettera. Ktoś zapisując się na listę wybiera jakie tematy go interesują i odznacza je checkboxami. Teraz wszystko trafia do bazy i wygląda to tak
TABELA 1 id | opcje |email --------------------------------------------------- 1 |1,5,23,56,45 |email@email.pl --------------------------------------------------- 2 |9,12,25,23,27,36 |email@email.pl --------------------------------------------------- 3 |2,4,7,23,41,56,67 |email@email.pl 1. Generuję stronę i do każdego rekordu przyporządkowany jest checkbox. Następnie wrzucam to do bazy danych i otrzymuję rekord zawierający opcje i email - TO DZIAŁA 2. Teraz znowu wygeneruje taką samą stronę z checkboxami po stronie administracyjnej i odznaczając kilka checkboxów chce wybrać z bazy te rekordy, które zawierają dokładnie te odznaczone opcje. Np zaznaczam checkbox 23 i 56, to powinienem dostać wynik w postaci dwóch rekordów o id=1 i id=3. 3. Wyswietlam dany rekord np: o id =2 TABELA 1 id | opcje |email --------------------------------------------------- 2 |9,12,25,23,27,36 |email@email.pl i chce wyświetlić wszystkie tematy jakie są przyporządkowane do danego e-maila. Numery opcji to id odpowiadający danemu tematowi w bazie danych. czyli TABELA 2 id | temat -------------------- 1 |Motoryzacja -------------------- 2 |Muzyka -------------------- 3 |Sport I problem polega na tym że nie wiem jak skonstruować te dwa zapytanie. :?: |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 1 512 Pomógł: 2 Dołączył: 22.04.2002 Skąd: Koszalin ![]() |
moja propozycja:
tabela newsletter Kod |ID_newsletter|temat|email|
poprawnie wpisane dane winny wygladac wygladac tak Kod |1|2 |php@php.pl|
|3|34 |php@php.pl| |4|36 |php@php.pl| |5|37 |php@php.pl| |6|45 |php@wp.pl| |7|78 |php@wp.pl| |8|31 |php@wp.pl| Jak widzisz nie wpisujemy w jednym rekordzie jak to wprowdzic do bazy przy dodawniu: robisz petle z tablica i zmieniasz tylko numer tematu. Idziemy dalej: jaki jest plus tego ? otoz w latwy sposb mozna to edytowac :-) dodajesz lub usuwasz dany rekord przez co masz odany lub skasowany temat z newslettera. Jak ok wyciagnac dane z nazwa tematu [sql:1:d20c5eb487]SELECT newsletter.*, tematy.temat from newsletter LEFT JOIN tematy ON (newsletter.ID_newsletter=temat.ID_temat) where newsletter.email='$email'[/sql:1:d20c5eb487] i masz jedny potanie i wszystkie odpowiedzi. Jest tez drugie rozwiazanie: masz swoj schemat danych. Po staremu. Wyciagasz dany rekord z numerami tematow i emailem, nastepnie wyciagasz tematy z tabeli i tworzysz tablice $tematy[$id_tematy]=$temat; i pozniej za pomoca funkcji lańcuchowych zamieniasz daną cyferkę w uzyskanym rekordzie na temat z tablicy. Jest babrania sie i to nie mao dlatego zalecam pierwsze rozwiazanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:41 |