![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
mam nastepujący problem
baza ma strukturę: CREATE TABLE SZKOLA ( id_szkola INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nazwa VARCHAR(50) NOT NULL, ulica VARCHAR(50) NOT NULL, miasto VARCHAR(30) NOT NULL, PRIMARY KEY(id_szkola) ); CREATE TABLE UZYTKOWNICY_WYROZNIENI ( id_uzytk_wyr INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, imie VARCHAR(20) NOT NULL, nazwisko VARCHAR(30) NOT NULL, login VARCHAR(20) NOT NULL, haslo VARCHAR(20) NOT NULL, e_mail VARCHAR(50) NOT NULL, PRIMARY KEY(id_uzytk_wyr) ); CREATE TABLE UZYTKOWNICY ( id_student INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, imie VARCHAR(20) NOT NULL, nazwisko VARCHAR(30) NOT NULL, login VARCHAR(20) NOT NULL, haslo VARCHAR(20) NOT NULL, data_ur DATE NOT NULL, miasto VARCHAR(30) NOT NULL, wojewodztwo VARCHAR(30) NOT NULL, e_mail VARCHAR(50) NOT NULL, data_przystapienia DATE NOT NULL, zainteresowania VARCHAR(100) NOT NULL, plec VARCHAR(20) NOT NULL, PRIMARY KEY(id_student), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION ); rekordy będą dodawane poprzez wypełnienie odpowedniego formularza na stronie www, użytkownicy wyróżnieni to tacy, którzy mają utworzone konto i wchodzą na strone poprzez zalogowanie się czyli wpisanie loginu i hasła podanego podczas rejestracji Moje pytanie brzmi: jak mogę w php dodać rekordy powtarzające się zarówno w tabeli użytkownicy jak i użytkownicy wyróznieni podczas rejestracji? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Mógłbyś wykonać dwa zapytania zaraz po sobie przy rejestracji. Jedną dla tabeli 'UZYTKOWNICY' drugie dla 'UZYTKOWNICY_WYROZNIENI'.
-------------------- Robie to co lubie, lubie to co Robie
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(maverickkk @ 2006-04-18 15:51:27) Mógłbyś wykonać dwa zapytania zaraz po sobie przy rejestracji. Jedną dla tabeli 'UZYTKOWNICY' drugie dla 'UZYTKOWNICY_WYROZNIENI'. podobnie myślałam i zrobiłam coś takiego: // dodajemy rekord do bazy $sql = "INSERT INTO UZYTKOWNICY (`id_student`, `SZKOLA_id_szkola`, `imie`, `nazwisko`, `login`, `haslo`, `data_ur`, `miasto`, `wojewodztwo`, `e_mail`, `data_przystapienia`, `zainteresowania`, `plec`)". "VALUES(LAST_INSERT_ID (),'{$id_szkola}','{$imie}','{$nazwisko}', '{$login}','{$haslo}', '{$data_ur}', '{$miasto}', '{$wojewodztwo}', '{$email}', CURDATE(),'{$zainteresowania}','{$plec}')"; $sql = "INSERT INTO UZYTKOWNICY_WYROZNIENI ('id_uzytk_wyr', `imie`,'nazwisko', 'login', 'haslo`,'e_mail')". "VALUES(LAST_INSERT_ID(),'{$iimie}','{$nazwisko}','{$login}', '{$haslo}','($email)')"; wywala mi wtedy taka informację: 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ''id_uzytk_wyr', `imie`,'nazwisko', 'login', 'haslo`,'e_mail')VA Zostales dodany do bazy ! i co ważne wcale nie dodaje rekordów do bazy... Proszę o pomoc, co robię źle..... |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wyrzuć średniki przy nazwach kolumn.
Ten post edytował maverickkk 18.04.2006, 19:19:57 -------------------- Robie to co lubie, lubie to co Robie
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(maverickkk @ 2006-04-18 18:19:30) Wyrzuć średniki przy nazwach kolumn. interesujące... jak zrobię cos takiego:
![]() poprawiam --- nospor to dodawane są rekordy TYLKO do tabeli uzytkownicy_wyroznieni Dalczego?? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Właśnie przewidywałem coś ale wczęsniej otym nie pisałem.
A robisz tak że masz zapytanie dla bazy 'UZYTKOWNICY' i je poprostu wykonujesz ![]() ![]() - Zapytanie dla UZYTKOWNICY - Wykonanie zapytania - Zapytanie dla UZYTKOWNICY_WYROZNIENI - Wykonanie zapytania i czy gdy rejestrujesz popdajesz wszystkie dane dla kolumn w tabeli 'UZYTKOWNICY' ![]() Ten post edytował maverickkk 19.04.2006, 09:18:48 -------------------- Robie to co lubie, lubie to co Robie
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
'id_uzytk_wyr', `imie`
raz uzywasz apostrofa ( ' ) raz (`) -- nazwy kolumn podawaj bez otaczania ich zadnymi znakami (no chyba, ze uzyles zarezerwowanego slowa dla nazwy kolumny, np. select to wtedy: `select`). -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(maverickkk @ 2006-04-19 08:16:32) Właśnie przewidywałem coś ale wczęsniej otym nie pisałem. A robisz tak że masz zapytanie dla bazy 'UZYTKOWNICY' i je poprostu wykonujesz ![]() ![]() - Zapytanie dla UZYTKOWNICY - Wykonanie zapytania - Zapytanie dla UZYTKOWNICY_WYROZNIENI - Wykonanie zapytania i czy gdy rejestrujesz popdajesz wszystkie dane dla kolumn w tabeli 'UZYTKOWNICY' ![]() Dziękuję za zwrócenie mi uwagi na tak prosty ale jakze istotny błąd... ![]() po wstawieniu odpowiedniej liniki dodawane są rekordy do obu tabel ale żeby nie było tak różowo mam jeszcze jedno pytanie czemu nie działa prawidłowo kolumna SZKOLA_id_szkola ... nie wstawiane są kolejne numery id teraz są zera. Polecenie insert dałam 2 razy i 2-krotnie są zera |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
usuń średniki z: '{$id_szkola}'
czyli zostanie {$id_szkola} bo wstawiasz liczbe a nie tekst. I poco ci {} ![]() jak nie zadziałą to wywal też {} i zzostanie samo $id_szkola -------------------- Robie to co lubie, lubie to co Robie
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat usuń średniki jakie sredniki? To są apostrofy...@taisa skoro wstawia ci zera, znaczy ze cos w zmiennej $id_szkola masz nie tak. a co to my niestety wrozki nie jestesmy ![]() -------------------- "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: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(maverickkk @ 2006-04-19 08:34:34) usuń średniki z: '{$id_szkola}' czyli zostanie {$id_szkola} bo wstawiasz liczbe a nie tekst. I poco ci {} ![]() jak nie zadziałą to wywal też {} i zzostanie samo $id_szkola niestety żaden z tych 2-ch sposobów nie działa... ![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
taisa to sprawdz to oczym mówi nospor.
-------------------- Robie to co lubie, lubie to co Robie
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
i podaj to co sie wyswietli razem z komunikatem bledu (dla drugiego zapytanbia tez) -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(dr_bonzo @ 2006-04-19 09:29:16)
i podaj to co sie wyswietli razem z komunikatem bledu (dla drugiego zapytanbia tez) // dodajemy rekord do bazy $sql = "INSERT INTO UZYTKOWNICY (id_student, SZKOLA_id_szkola, imie, nazwisko, login, haslo, data_ur, miasto, wojewodztwo, e_mail, data_przystapienia, zainteresowania, plec)"."VALUES(LAST_INSERT_ID(),'{$id_szkola}','{$imie}','{$nazwisko}', '{$login}','{$haslo}', '{$data_ur}', '{$miasto}', '{$wojewodztwo}', '{$email}', CURDATE(),'{$zainteresowania}','{$plec}')"; $wynik = mysql_query($sql); $sql = "INSERT INTO UZYTKOWNICY_WYROZNIENI (id_uzytk_wyr, imie, nazwisko, login, haslo, e_mail)". "VALUES(LAST_INSERT_ID(),'{$imie}','{$nazwisko}','{$login}', '{$haslo}','($email)')"; teraz już jest ok...tzn dodawane są rekordy do obu tablic ale w kolumnie o nazwie SZKOLA_id_szkola nie jest dodawany kolejny nr id tylko są same zera |
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@taisa ale my to juz wiemy...
propnuje jeszcze raz przeczytac wszystkie posty od momentu, gdy nas pierwszy raz o tym poinformowales. prosze sie do nich odniesc i podac oco proszą.... -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 12.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
taisa -> a tam czasem w tabeli 'UZYTKOWNICY' nie ma być 'id_szkola' zamiast 'SZKOLA_id_szkola'
![]() ![]() -------------------- Robie to co lubie, lubie to co Robie
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 18.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(maverickkk @ 2006-04-19 11:13:56) taisa -> a tam czasem w tabeli 'UZYTKOWNICY' nie ma być 'id_szkola' zamiast 'SZKOLA_id_szkola' ![]() ![]() to może ja podam jak wygląda cała baza ( bo do tej pory operowałam jej częścią CREATE TABLE SZKOLA ( id_szkola INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nazwa VARCHAR(50) NOT NULL, ulica VARCHAR(50) NOT NULL, miasto VARCHAR(30) NOT NULL, PRIMARY KEY(id_szkola) ); CREATE TABLE UZYTKOWNICY_WYROZNIENI ( id_uzytk_wyr INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, imie VARCHAR(20) NOT NULL, nazwisko VARCHAR(30) NOT NULL, login VARCHAR(20) NOT NULL, haslo VARCHAR(20) NOT NULL, e_mail VARCHAR(50) NOT NULL, PRIMARY KEY(id_uzytk_wyr) ); CREATE TABLE UZYTKOWNICY ( id_student INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, imie VARCHAR(20) NOT NULL, nazwisko VARCHAR(30) NOT NULL, login VARCHAR(20) NOT NULL, haslo VARCHAR(20) NOT NULL, data_ur DATE NOT NULL, miasto VARCHAR(30) NOT NULL, wojewodztwo VARCHAR(30) NOT NULL, e_mail VARCHAR(50) NOT NULL, data_przystapienia DATE NOT NULL, zainteresowania VARCHAR(100) NOT NULL, plec VARCHAR(20) NOT NULL, PRIMARY KEY(id_student), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE SERIA_D ( id_seria_D INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SERIA_D_id_seria_D INTEGER UNSIGNED NOT NULL, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, data_seria_D DATE NOT NULL, godz_seria_D TIME NOT NULL, seria_D INTEGER(50) NOT NULL, PRIMARY KEY(id_seria_D), INDEX SERIA_D_FKIndex1(SZKOLA_id_szkola), INDEX SERIA_D_FKIndex2(SERIA_D_id_seria_D), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(SERIA_D_id_seria_D) REFERENCES SERIA_D(id_seria_D) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE SERIA_A ( id_seria_A INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, data_seria_A DATE NOT NULL, godz_seria_A TIME NOT NULL, seria_A INTEGER(50) NOT NULL, PRIMARY KEY(id_seria_A), INDEX SERIA_A_FKIndex1(SZKOLA_id_szkola), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE SERIA_B ( id_seria_B INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, data_seria_B DATE NOT NULL, godz_seria_B TIME NOT NULL, seria_B BLOB NOT NULL, PRIMARY KEY(id_seria_B), INDEX SERIA_B_FKIndex1(SZKOLA_id_szkola), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE SERIA_C ( id_seria_C INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, data_seria_C DATE NOT NULL, godz_seria_C TIME NOT NULL, seria_C INTEGER(50) NOT NULL, PRIMARY KEY(id_seria_C), INDEX SERIA_C_FKIndex1(SZKOLA_id_szkola), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE POMIARY ( id_pomiar INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, SERIA_D_id_seria_D INTEGER UNSIGNED NOT NULL, SERIA_C_id_seria_C INTEGER UNSIGNED NOT NULL, SERIA_B_id_seria_B INTEGER UNSIGNED NOT NULL, SERIA_A_id_seria_A INTEGER UNSIGNED NOT NULL, SZKOLA_id_szkola INTEGER UNSIGNED NOT NULL, data_pomiaru DATE NOT NULL, godz_pomiaru TIME NOT NULL, PRIMARY KEY(id_pomiar), INDEX POMIARY_FKIndex1(SZKOLA_id_szkola), INDEX POMIARY_FKIndex2(SERIA_A_id_seria_A), INDEX POMIARY_FKIndex3(SERIA_B_id_seria_B), INDEX POMIARY_FKIndex4(SERIA_C_id_seria_C), INDEX POMIARY_FKIndex5(SERIA_D_id_seria_D), FOREIGN KEY(SZKOLA_id_szkola) REFERENCES SZKOLA(id_szkola) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(SERIA_A_id_seria_A) REFERENCES SERIA_A(id_seria_A) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(SERIA_B_id_seria_B) REFERENCES SERIA_B(id_seria_B) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(SERIA_C_id_seria_C) REFERENCES SERIA_C(id_seria_C) ON DELETE NO ACTION ON UPDATE NO ACTION, FOREIGN KEY(SERIA_D_id_seria_D) REFERENCES SERIA_D(id_seria_D) ON DELETE NO ACTION ON UPDATE NO ACTION ); CREATE TABLE WYNIKI ( id_wynik INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, UZYTKOWNICY_id_student INTEGER UNSIGNED NOT NULL, wynik BLOB NOT NULL, data_wynik DATE NOT NULL, godz_wynik TIME NOT NULL, PRIMARY KEY(id_wynik), INDEX WYNIKI_FKIndex1(UZYTKOWNICY_id_student), FOREIGN KEY(UZYTKOWNICY_id_student) REFERENCES UZYTKOWNICY(id_student) ON DELETE NO ACTION ON UPDATE NO ACTION ); baza ta ma być wykorzystana w nastepujący sposób: na nasz serwer mają napływac dane z detektorów umieszczonych na dachach szkół w moim mieście. Detektory te zliczają gęstośc cząstek promieniowanie kosmiczne padające na okresloną powierzchnię... typ danych A,B,C,D są to różne dane np temperatura, ciśnienie, gęstość... strona, która powstaje ma za zadanie...rejestrację użytkownika, ma dawać możliwość śiągnięcia przez zalogowanego uzytkownika odpowiednich danych i zapisania ich na lokalnym dysku oraz możliwość przesłania na serwer zmodyfikowanych danych przez uzytkownika Rozpisałam się troszkę ale tylko po to aby dać obraz tego do czego ta baza ma służyć... |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
dość...
z racji taisa, ze ignorujesz co poniektore posty, ktore wskazują ci jak wol co masz sprawdzic, temat zamykam. dodatkowo nagminnie olewasz bbcode, ktore raz poprawilem (i starczy moich poprawek). w celu odblokowania tematu, prosze o PW z uwzględnieniem postów o których mowilem oraz z poprawnym bbcode -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 02:47 |