Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> a dlaczego to nie dziala ??
boya
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kurtz
post
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
Go to the top of the page
+Quote Post

Posty w temacie


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: 8.10.2025 - 01:54