Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP][MySQL]zapytanieMySQL
lukas1986s
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


Witam wszystkich

posiadam baze danych rooms z 3 tabelami :

ulica



pokoj



mieszkaniec



Stworzylem nastepujacy kod

Kod
$zpt = "SELECT Imie,Nazwisko,Nazwa,NrPokoju FROM mieszkaniec,ulica,pokoj where mieszkaniec.UlicaId=ulica.Id AND ulica.Id=pokoj.UlicaId";
                        
                        $rezultat = mysqli_query($baza,$zpt);
                        $licznik =1;
                        while (($wynik = mysqli_fetch_assoc($rezultat)))
                        {                            
                            echo "<tr>";
                            echo "<td class=\"id\">".$licznik."</td>";
                            echo "<td>".$wynik['Imie']."&nbsp".$wynik['Nazwisko']."</td>";
                            echo "<td>".$wynik['Nazwa']."</td>";
                            echo "<td>".$wynik['NrPokoju']."</td>";
                            
                            echo "</tr>";
                            $licznik++;
                        }


wynikiem czego otrzymalem



W bazie mam tylko trzech uzytkownikow natomiast pojawilo mi sie 4 w tym jeden skopiowany o innym nr pokoju , jak poprawic ten blad questionmark.gif

Ten post edytował lukas1986s 10.06.2014, 16:41:47
Go to the top of the page
+Quote Post
Damonsson
post
Post #2





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Po pierwsze, łącz JOINem, po drugie DISTINCT, ewentualnie GROUP BY

Ten post edytował Damonsson 10.06.2014, 16:41:55
Go to the top of the page
+Quote Post
lukas1986s
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


Cytat(Damonsson @ 10.06.2014, 17:39:03 ) *
Po pierwsze, łącz JOINem, po drugie DISTINCT, ewentualnie GROUP BY


jesli zmienie dodam DISTINCT to wyskakuje mi blad przy

Kod
while (($wynik = mysqli_fetch_assoc($rezultat)))


czy mozecie podac jakis inny serwer gdzie moge wrzucic zdjecia aby lepiej balo je widac questionmark.gif

Ten post edytował lukas1986s 10.06.2014, 16:49:56
Go to the top of the page
+Quote Post
Damonsson
post
Post #4





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Masz, bo do jutra nie wpadniesz, jak to zrobić. Zanim będziesz miał 2 osoby o tym samym nazwisku, to się nauczysz jak to robić, mam nadzieję.

  1. SELECT Imie,Nazwisko,Nazwa,NrPokoju FROM mieszkaniec,ulica,pokoj WHERE mieszkaniec.UlicaId=ulica.Id AND ulica.Id=pokoj.UlicaId GROUP BY Nazwisko


Ten post edytował Damonsson 10.06.2014, 16:51:48
Go to the top of the page
+Quote Post
lukas1986s
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 25.08.2012

Ostrzeżenie: (0%)
-----


Cytat(Damonsson @ 10.06.2014, 17:50:17 ) *
Masz, bo do jutra nie wpadniesz, jak to zrobić.

  1. SELECT Imie,Nazwisko,Nazwa,NrPokoju FROM mieszkaniec,ulica,pokoj WHERE mieszkaniec.UlicaId=ulica.Id AND ulica.Id=pokoj.UlicaId GROUP BY Nazwisko


dziekuje
Go to the top of the page
+Quote Post
Damonsson
post
Post #6





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


Pamiętaj tylko, że dla 2 takich samych nazwisk zwróci Ci tylko jedno.

Więc, żeby było wszystko poprawnie musiałbyś grupować po tym ID, które ma osoba w tabeli z osobami. Więc powinno być tak:

  1. SELECT Imie,Nazwisko,Nazwa,NrPokoju FROM mieszkaniec,ulica,pokoj WHERE mieszkaniec.UlicaId=ulica.Id AND ulica.Id=pokoj.UlicaId GROUP BY mieszkaniec.id
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 21:21