Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP][MySQL]zapytanieMySQL
Forum PHP.pl > Forum > Przedszkole
lukas1986s
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
Damonsson
Po pierwsze, łącz JOINem, po drugie DISTINCT, ewentualnie GROUP BY
lukas1986s
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
Damonsson
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
lukas1986s
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
Damonsson
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.