![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam
mam pewien problem...mianowicie w pliku .tpl mam pętle, która wyświetla zawartość tablicy (dokładniej liste komentarzy do newsa) jednak skrypt nie pobiera z bazy danych zadnych informacji o autorze komentarza ...jedynie jego ID. Musiałem więc napisać funkcje do smarty, która mając id, pobiera z bazy email i login uzytkownika. W plikach .tpl ma ona taką składnie :
W swoim serwisie korzystam z serwisu www.gravatar.com więc zainstalowałęm sobie plugina/funkcje, który mając taką składnie :
zamienia podany email na adres avatara w serwisie gravatar.com Problem w tym, że nie wiem jak połączyć te dwie funkcje. Funkcja {gravatar} musi korzystać z funkcjii {userinfo} do otrzymania emaila użytkownika a ja troche nie wiem jak to napisać (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Jeśli nie rozumiecie oco mi chodzi (troche zagmatwałem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) to powiedzcie a napisze jeszcze raz (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Pozdrawiam i z góry dzięki Ten post edytował Bajki 10.06.2008, 13:53:00 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Ja troszke nie na temat ale...
Cytat ednak skrypt nie pobiera z bazy danych zadnych informacji o autorze komentarza ...jedynie jego ID A nie mozesz tego skryptu poprawic? Przeciez to jest szalenie nieoptymalne pobierac z bazy ID a dopiero potem robic kolejne zapytanie dla kazdego ID by pobrac reszte jego pol. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
hehe no wlasnie sie zastanawialem czy to wydajne ;D
dlamnie bomba tylko ze nie widze kompletnie jak to zrobic ;/ ledwo uporalem sie z jedna tablica a jakbym mial ja jeszcze polaczyc z 2 ... musial by mi ktos w tym pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) oto kod : funkcja get_comments() :
tablica $comments jest przypisana do tablicy $comments w smarty (przez assign oczywiscie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ) plik comments.tpl : jesli ktos podpowiedzial by mi jak to zrobic, bylbym bardzo wdzieczny (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) pozdrawiam Ten post edytował Bajki 10.06.2008, 14:09:39 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
musisz do zapytania dodac kolejna tabele przy pomocy left join. Tabele oczywiscie z userami
http://dev.mysql.com/doc/refman/5.0/en/join.html |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
o super, szukalem czegos takiego ! (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jednak jestem w tym zielony ...zmodyfikowałem funkcje :
ale wywala mi błąd Cytat Something is wrong in your syntax obok '' w linii 1
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
wyswietl jeszcze to zapytanie:
I na przyszlosc zapamietaj to. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
hm stworzylem taki plik :
ale on mi nic nie zwraca (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) pusta strona sie pojawia... |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
o litosci... przeciez ja tam dalem jeszcze echo $sql. a ty gdzie to dales?
tak ma byc. pozatym co skrypt nie pokazesz to ma inne dane raz jest include "includes/db_connect.php"; a raz include "db_connect.php"; co ty tak zmieniasz wszystko? |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
hehe no dobra teraz zwróciło
Cytat SELECT u.login, u.email, c.date, c.content FROM comments c LEFT JOIN users u ON c.user_id=u.id WHERE c.object_id='1' AND c.type='news' ORDER BY c.date czyli zasadniczo chyba okej...ale co mi to dało ? ;/edit-- to przez to ze stworzylem plik testowy w innym folderze i musialem inna sciezke w includzie podac ;D Ten post edytował Bajki 10.06.2008, 15:53:51 |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Na poczatku funkcja get_comments() zwracala ci tablice komentarzy, teraz zwraca ci wynik mysql_query(). Tak ma byc?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
tzn wynik mysql_query() czy treść zapytania ? bo jak wynik to zgadza sie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
przypisalem wynik funkcjii do zmiennej {$blad} no i wyswietlilem ja i otrzymalem takie cos :
Jak skopiuje to do SQL w phpmyadminie i 'wykonam' to wszystko działa okej...więc ja już naprawde nie wiem w czym jest problem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
oj...
na poczatku miales tak:
Zwracasz tu tablice komentarzy. A potem miales tak:
Tu zwraczasz zupelnie co innego. Napewno tak ma byc? |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tu zwraczasz zupelnie co innego. Napewno tak ma byc? ja juz sie pogubilem w takim razie...bo ja zmodyfikowałem skrypt zgodnie z twoimi wskazówkami ... a Twoje pytanie brzmi tak jakbyś sie mnie pytał czy to co robie napewno jest okej (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) hehe i teraz ja nie wiem czy rzeczywiscie słuchałem Twoich wskazówek czy wogóle gdzies na początku źle zrozumiałem co napisałeś i cała ta rozmowa to jedno wielkie nieporozoumienie ... (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) jeśli jednak wszystko jest ok to tak - tak wlasnie wyglada teraz ta funkcja (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) do tego, stworzyłęm sobie kolejny plik do sprawdzenia co nie gra w tym kodzie : test.php :
no i on działa dobrze...a zapytanie jest skopiowane z funkcjii get_comments() ;/ |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ja juz sie pogubilem w takim razie...bo ja zmodyfikowałem skrypt zgodnie z twoimi wskazówkami ... oj... latwo sie gubisz (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) owszem , ja ci powiedzialem bys rozbudowal zapytanie o pobieranie userow i to zrobiles bardzo dobrze. Ale z wiadomych tylko tobie powodow wyciales kod, ktory budowal tablice i ją zwracal. Teraz po modyfikacjach ty zwracasz wynik mysql_query() a wczesniej zwracales przetworzoną juz tablice. Teraz nagle wywalies to z kodu. Rozumiesz? Po dodaniu do zapytania usera nadal masz zwracac tablice komentarzy. Tylko ta tablica ma teraz dodatkowo zawierac jeszcze info o userze ktore pobierasz juz w zapytaniu. Nie podam ci gotowego rozwiązania bo je miales a po poprawkach wyrzuciles. Musisz to zrozumiec bo to jest naprawde proste (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Zobacz na moj poprzedni post - tam ci napisalem konretnie o jakiej tablicy mowie ktorej juz nie ma teraz a byc powinna. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 1 Dołączył: 28.04.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
aha no to ja zrozumialem ze mam usunac ta budowe tablicy i poprostu zwrocic tresc zapytania ;D ale nawet kiedy mialem kod tworzacy tablice to i tak miałem ten błąd ;/ (wsumie to nadal go mam bo już poprawiłem (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )
EDIT== hehe ok juz wszystko wiem. Błąd wynikał z tego, że w pliku tpl w petli probowałęm wyświetlić zawartość pola user_id a w zapytaniu w funkcji get_comments nie pobierałem wogóle tego pola z bazy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) nie dokońca rozumiem dlaczego akurat błąd o takiej treści ale ważne, że teraz wszystko działa (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) dzięki za pomoc Ten post edytował Bajki 12.06.2008, 15:29:21 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 12:31 |