Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zliczanie ilosci 'komentarzy' w mysql
Forum PHP.pl > Forum > Gotowe rozwiązania
noose
Witam.
Mam taki problem.... Ponizej podaje Wam kawalek kodu mojego systemu newsow z komentarzami.... Problem jest w wyswietleniu ilosci komentarzy :? moze mi ktos powiedziec gdzie mam wstawic
[php:1:c9f400ba10] $sql2 = "SELECT COUNT(koment_id) FROM halo_komenty";
mysql_query($sql2) or die(mysql_error());[/php:1:c9f400ba10]
:?: i jak sie odwolac, aby w $komenty_ilosc byla podana ilosc komentarzy.... z gory thx smile.gif

[php:1:c9f400ba10]<?
include_once("db.php");
if (!isset($id))
{
$sql = "SELECT * FROM halo_newsy ORDER by news_id DESC";
$wynik = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($wynik))
{
$news_id=$row["news_id"];
$news_news=$row["news_news"];
$news_kto=$row["news_kto"];
$news_mail=$row["news_mail"];
echo("<tr><td><hr></td></tr>");
echo("
<tr>
<td>$news_news<br></td>
</tr>
<tr>
<td><p align = left>Dodał: <a href= "mailto:$news_mail">$news_kto</a></p><p align = right><a href ="?www=newsy&id=$news_id">Komentarze[$komenty_ilosc]</a></td>
</tr>");
}
}
elseif (isset($id))
{
[...][/php:1:c9f400ba10]
chfast
Cytat
moze mi ktos powiedziec gdzie mam wstawic
[php:1:131bb9d84a]  $sql2 = "SELECT COUNT(koment_id) FROM halo_komenty";
 mysql_query($sql2) or die(mysql_error());[/php:1:131bb9d84a]
:?: i jak sie odwolac, aby w $komenty_ilosc byla podana ilosc komentarzy....

Musisz zrobić tak:[php:1:131bb9d84a]<?php
$result = mysql_query( $sql2 );
//wynik $result nie będzie troche poukrywany, prawdopodobnie tak:
$ilosc_komentarzy = $result[0]['count'];
?>[/php:1:131bb9d84a]
kicaj
[php:1:0ee0d738cb]<?
$sql = "SELECT * FROM halo_newsy ORDER by news_id DESC";
$wynik = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_array($wynik))
{

$news_id=$row["news_id"];
$news_news=$row["news_news"];
$news_kto=$row["news_kto"];
$news_mail=$row["news_mail"];

$sql2 = "SELECT * FROM halo_komenty WHERE nid='$news_id'";
$wynik2 = mysql_query($sql2) or die(mysql_error());
$komenty_ilosc = mysql_num_rows($wynik2);

echo("<tr><td><hr></td></tr>");
echo("
<tr>
<td>$news_news<br></td>
</tr>
<tr>
<td><p align = left>Dodał: <a href= "mailto:$news_mail">$news_kto</a></p><p align = right><a href ="?www=newsy&id=$news_id">Komentarze[$komenty_ilosc]</a></td>
</tr>");
}
?>[/php:1:0ee0d738cb]

Gdzie: 'nid' to kolumna w bazie z komentarzami ('halo_komenty'), ktora zawietra 'id' newsa do ktorego nalezy dany komentarz smile.gif
noose
thx kicaj_ ;] Twoje rozwiazanie dziala:)
chfast
Cytat
[php:1:a3be936fe8]<?php
$result = mysql_query( $sql2 );
//wynik $result nie będzie troche poukrywany, prawdopodobnie tak:
$ilosc_komentarzy = $result[0]['count'];
?>[/php:1:a3be936fe8]

No racja... to przecież nie ADOdb więc tak się nie da. Te przyzwyczajenia..
FiDO
Proponuje zrobic to wydajniej i odrazu jednym zapytaniem pobierac wszystko:
[sql:1:b7a39b3ee9]SELECT n.* , count( c.id ) ilosc_komentarzy
FROM news n
LEFT JOIN comments c ON ( c.news_id = n.id )
GROUP BY n.id[/sql:1:b7a39b3ee9]
kicaj
@FiDO: spokojnie, widac ze dopiero zaczyna zabawe z php&mysql...

smile.gif
noose
heh, moze nie tak, ze dopiero zaczynam, tylko mam podstawy tongue.gif ale teraz zaczynam pisac cos wiekszego i pasowalo by sie nauczyc ;]
mozecie mi powiedziec gdzie mozna znalezc jakiegos manuala (albo jak sie nazywa), gdzie bylo by objasnione jak tworzyc zapytania (wlasnie jakies z join itp smile.gif)
kicaj
http://www.mysql.com/doc
kalinowski
Cytat

a to jest po po;lsku questionmark.gif
spenalzo
Cytat
Cytat

a to jest po po;lsku questionmark.gif

Zobacz to:
http://webdeveloper.pl/manual_mysql/show.p...ual_toc_pl.html
tongue.gif
kicaj
Cytat
a to jest po po;lsku questionmark.gif

kliknij to zobaczysz biggrin.gif
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.