Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z zapytaniam
tumeks
post
Post #1





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 10.11.2003
Skąd: Poznań

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


Witam! Mam problem z zapytaniem do MySQL.

1. Zapytanie pokazuje mi nazwę uzytkownika jeśli gracz należy do jakiejś gildii:

  1. SELECT u.id, u.nick, u.ulepszone, s.uzytkownik, g.nazwa FROM uzytkownicy AS u, stat_online AS s, gildia AS g WHERE u.idpostaci = '".$row1['id']."' AND g.id = '".$row1['id_gildii']."'


Z góry dziękuje za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Pozdrawiam
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


A jaki - jeśli można to wiedzieć - masz problem z tym zapytaniem?
Go to the top of the page
+Quote Post
tumeks
post
Post #3





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 10.11.2003
Skąd: Poznań

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


Tka jka napsiałem wyżej nazwe uzytkownika (u.nick) pokazuje mi tlyko wtedy kiedy któryś z graczy jest w jakiejs gildii.
Go to the top of the page
+Quote Post
TomASS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Cytat
tlyko wtedy kiedy któryś z graczy jest w jakiejs gildii.

Nie napisałeś "tylko" w poprzednim poście

Tak to prawda. I co jest w tym źle? (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)

Mogę się jedynie domyśleć, że chcesz pobrać nazwę użytkownika nawet jeśli nie należy do żadnej gildii. Tak?

Czy nie za krótkie zapytanie nam przedstawiłeś?
Ono zrobi iloczyn kartezjański 3 tablic.


Podpowiedź rozwiązania Twojego problemu to: LEFT JOIN

Jeśli pokazałeś nam za mało, to pokaż wszystko - pewnie da się coś jeszcze wykąbinować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tumeks
post
Post #5





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 10.11.2003
Skąd: Poznań

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


Jets to całe zapytanie które pobiera te dane (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
TomASS
post
Post #6





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


a ile rekordów Ci zwraca?
Go to the top of the page
+Quote Post
tumeks
post
Post #7





Grupa: Zarejestrowani
Postów: 123
Pomógł: 0
Dołączył: 10.11.2003
Skąd: Poznań

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


zwraca mi tyle rekordów ile trzeba, lecz tlyko pokazuje mi nazwe uzytnowika jestli gracz jest w jakiejs gildii, jesli nie jest w zadnej gildii do jest poprostu puste pole (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .

Sorka że pisze post pod postem ale tak bedzie lepiej :0

  1. SELECT p.id AS pid, p.nazwa, p.id_gildii, p.lvl, p.ostatniawalka, u.id AS uid, u.nick, u.ulepszone, s.uzytkownik, g.nazwa AS gnazwa FROM postacie AS p LEFT JOIN uzytkownicy AS u ON (u.idpostaci=p.id) LEFT JOIN stat_online AS s ON (s.uzytkownik=u.nick) LEFT JOIN gildia AS g ON (g.id=p.id_gildii) ORDER BY 'lvl' DESC LIMIT ".(($wns*$strona)-$wns).",".$wns."


Zapytanie to działa dobrze lecz pobiera mi wszytkie rekordy a pokazuje tylko 40 bo tyle powinno, całe zapytanie pobiera mi 100% proca na serwerku, co tutaj zmienic zbey było dobrze ?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 16:27