![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 287 Pomógł: 0 Dołączył: 26.02.2003 Skąd: Ow/Pn Ostrzeżenie: (0%) ![]() ![]() |
Mam problem (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Poniższy kod: Kod <?php
@mysql_connect( "localhost", "boya", "boy2ost" ); @mysql_select_db( "boya" ); $wykonaj = mysql_query( "SELECT news.kto kto, news.text text, news.kiedy kiedy, count(k.*) ilosc FROM komentarze k LEFT JOIN knews ON (k.news_id=news.id) GROUP BY k.news_id LIMIT 10;" ); while( $wiersz = @mysql_fetch_array( $wykonaj ) ) { print $wiersz['kto']."n"; print $wiersz['text']."n"; print $wiersz['kiedy']."n"; print $wiersz['ilosc']."n"; } ?> teraz opis co ma robic ten skrypt laczy sie z baza danych boya gdzie sa dwie tabele knews i komentarze struktury tabeli knews id | kto | kiedy | text | komentarze id | id_news | kto | kiedy | gg | mail | wyswietla mi na stronie glownej newsy wraz z licza komentarzy, problem w tym ze ten skrypt nic nie wyswietla i dlaczego moze ktos z was wie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) a moze macie inny sposob zeby rpzwiazac to wyswietlanie ktore wyglada tak Strona Glowna to z tabeli knews kto text kiedy automatycznie do tego dodaje komentarze (***) komentuj jak widzicie w nawiasie wyzej sa gwiazdki i tam ma byc ilosc komentarzy o konkretnym id (suma komentarzy np o id=12) jak mam napisac skrypt zeby to dzialalo bo rece mi opadaja juz.... POMOCY |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat jak widzicie w nawiasie wyzej sa gwiazdki i tam ma byc ilosc komentarzy o konkretnym id (suma komentarzy np o id=12) jak mam napisac skrypt zeby to dzialalo bo rece mi opadaja juz.... uf. ok troszke sie tego zebralo.
najpierw co wg mnie jest niepoprawnie 1) count(k.*) jest niepoprawne - skoro grupujesz po kolumnie to i count'uj po niej - to wazny blad. 2) troszke nie tak masz tego joina - chyba chciales odwrotnie - newsy i do nich przywiazywac komentarze - a konkretnie ich ilosc. - to tez istotny blad - ale juz projektowy 3) w tym zapytaniu co napisales masz male babole - podczas przepisywania? - (k.news_id=news.id) - a nigdzie nie ma news - wyglada na to ze chodzilo o tabelke knews ktora nie zaliasowales. ergo: poprawilem zapytanie: Kod SELECT
news.kto kto, news.text text, news.kiedy kiedy, count(k.id_news) ilosc FROM knews news LEFT JOIN komentarze k ON (k.id_news = news.id) GROUP BY k.id_news LIMIT 0, 30 pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat najpierw co wg mnie jest niepoprawnie aha: najlepiej jest testowac swoje zpaytania nim wrzucimy je do php - najprosicej phpmyadminem ktorego chyba kazdy ma ;)
mozesz tez pokusic sie o wizualnego klienta ktory niczym Enterprise Manager pokaze ci ktory klucz do czego sie odwoluje ;) pozdrawiam |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 287 Pomógł: 0 Dołączył: 26.02.2003 Skąd: Ow/Pn Ostrzeżenie: (0%) ![]() ![]() |
dzieki uprzejmosci BzikOS-a mam takie cos
Cytat <?php
@mysql_connect( "localhost", "boya", "boy2ost" ); @mysql_select_db( "boya" ); $sql = mysql_query( "SELECT id, kto, text, kiedy FROM knews LIMIT 10" ); while($wiersz = @mysql_fetch_array( $sql ) ) { list($ilosc) = @mysql_query("SELECT count(*) FROM komentarze WHERE news_id=".$wiersz['id'].""); print $wiersz['kto']."n"; print $wiersz['text']."n"; print $wiersz['kiedy']."n"; print $ilosc."n"; } ?> problem w tym ze to mi nie wyswietla $ilosc moze widziec co jest nie tak (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat dzieki uprzejmosci BzikOS-a mam takie cos
Cytat <?php
// ... list($ilosc) = @mysql_fetch_row(@mysql_query("SELECT count(*) FROM komentarze WHERE news_id=".$wiersz['id']."")); // ... } ?> Tak być powinno. |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Cytat dzieki uprzejmosci BzikOS-a mam takie cos
Cytat <?php
// ... list($ilosc) = @mysql_fetch_row(@mysql_query("SELECT count(*) FROM komentarze WHERE news_id=".$wiersz['id']."")); // ... } ?> Tak być powinno. pozdrawiam |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Cytat eh a mozna bylo wszystko jednym zapytaniem bylo zrobic... Można...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 00:55 |