![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mam trzy tabele formularz, up, uzytkownik
formularz: idzgloszenia, IP, data, rodzaj, uwagi, iduser, idup up: idup, adres, up uzytkownik: ID, imie, nazwisko, login, haslo, idup zapytanie: select idzgloszenia, data, rodzaj, uwagi, uzytkownik.login, up.up from formularz, uzytkownik, up; daje wynik z powtarzajacymi sie idzgloszenia help |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
A co właściwie chcesz uzyskać z bazy? Które pola są u Ciebie kluczami?
Czy idzgloszenia jest polem unikalnym? Poza tym chyba brakuje chyba jakiegoś WHERE, nie? Jak dla mnie to po takim zapytaniu dostaniesz dane bez sensu. A jeżeli źle Cię zrozumiałem, to może chodzi Ci o GROUP BY idzgloszenia? Chociaż wątpię. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
chce uzyskac dane z tabeli formularz: idzgloszenia, IP, data, rodzaj, uwagi i z tabeli uzytkownik: login a z tabeli up: up
maja baza (nie wiem czy dobrze ja skonstruowalem) CREATE TABLE `formularz` ( `idzgloszenia` int(11) NOT NULL auto_increment, `IP` varchar(100) NOT NULL default '', `data` datetime NOT NULL default '0000-00-00 00:00:00', `rodzaj` varchar(50) NOT NULL default '', `uwagi` longtext NOT NULL, `iduser` int(3) NOT NULL default '0', `idup` int(11) NOT NULL default '0', PRIMARY KEY (`idzgloszenia`,`idup`,`iduser`), KEY `IDX_formularz1` (`iduser`,`idup`) ) TYPE=MyISAM AUTO_INCREMENT=68 ; CREATE TABLE `up` ( `idup` int(11) NOT NULL auto_increment, `adres` text NOT NULL, `up` varchar(20) NOT NULL default '', PRIMARY KEY (`up`,`idup`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; CREATE TABLE `uzytkownik` ( `ID` int(3) unsigned NOT NULL auto_increment, `imie` varchar(40) NOT NULL default '', `nazwisko` varchar(40) NOT NULL default '', `login` varchar(20) NOT NULL default '', `password` varchar(20) NOT NULL default '', `idup` int(2) NOT NULL default '0', PRIMARY KEY (`idup`,`ID`,`login`) ) TYPE=MyISAM AUTO_INCREMENT=4 ; |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
No to spróbuj tak:
Ale nie gwarantuję, że tak bo średnio dobrze ponazywałeś te pola. Daj każdej tabeli po pierwsze pole "id" i zrób z tego klucz główny, auto increment i wszystko będzie widać a teraz masz wszędzie inaczej, jakieś idup, ID, idzgloszenia... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
pozmienialem id
CREATE TABLE `formularz` ( `id` int(11) NOT NULL auto_increment, `IP` varchar(100) NOT NULL default '', `data` datetime NOT NULL default '0000-00-00 00:00:00', `rodzaj` varchar(50) NOT NULL default '', `uwagi` longtext NOT NULL, `iduser` int(3) NOT NULL default '0', `idup` int(11) NOT NULL default '0', PRIMARY KEY (`idup`,`iduser`,`id`), KEY `IDX_formularz1` (`iduser`,`idup`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; CREATE TABLE `up` ( `id` int(11) NOT NULL auto_increment, `adres` text NOT NULL, `up` varchar(20) NOT NULL default '', PRIMARY KEY (`up`,`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; CREATE TABLE `uzytkownik` ( `id` int(3) unsigned NOT NULL auto_increment, `imie` varchar(40) NOT NULL default '', `nazwisko` varchar(40) NOT NULL default '', `login` varchar(20) NOT NULL default '', `password` varchar(20) NOT NULL default '', `idup` int(2) NOT NULL default '0', PRIMARY KEY (`login`,`id`,`idup`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; ale zapytanie...
...nie daje poprawnych danych (nie wsyztskie zgloszenia sie wyswietlaja) , moze mam cos zle w strukturze bazy? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy potrafię Ci pomóc. Po pierwsze zrobiłbym te tabele tak:
usunąłem m.in. AUTO_INCREMENT=1 bo inaczej wszystkie rekordy w polu id miały wartość 1. Szczerze mówiąc nie mogę dojść dlaczego, powinno to chyba oznaczać że następny rekord dostanie wartość 1 ale nie rozumiem dlaczego dalej nie jest 2,3,... - ktoś by mógłby mnie oświecić? Po drugie
Powinno działać jeżeli dobrze zrozumiałem Twoje zamiary po tym jak wygląda baza. To znaczy wybierasz wszystkie wpisy z tabeli "formularz" przy czym zamiast identyfikatorów użytkownika i up chcesz mieć login użytkownika i samo up. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 11:26 |