ugrás a tartalomhoz

MySQL sorok összeszámoltatása

haho · 2008. Szep. 25. (Cs), 17.54
Sziasztok!
Hogy egy táblában összesen hány sor van, ezt eddig úgy oldottam meg, hogy kiirattam az utolsó ID-t. Na most ez többek között ugye azért sem jó, mert ha letörlöm mondjuk a 3-as ID-jű sort, akkor az utolsó ID 20,de igazából csak 19 sorom van.

A lényeg: hogyan kell összeszámolni azokat a soroka, amelyeket egy adott feltétel szerint lekérdezek.
Például: ki iratom azokat a kommentárokat egy adott hírhez, ahol a "kommentarok" tábla "naviid" mezőjében az adott a hír ID-je szerepel.
És ki szeretném iratni, méág a hírhez, mielőtt megjelennek a kommentárok, hogy eddig hány kommentár tartozik az adott hírhez, azaz hány olyan sor van a "kommentarok" táblában, ahol a "naviid" megegyezik az adott hír ID-jével.

Mivel erre vonatkozó MySQL utasítást nem találtam, így gondolom ezt PHP segítségével lehet csak megoldani. De hogyan?
Remélem a példa segít abban, hogy érthető legyen a kérdésem. Előre is köszönöm a válaszokat!
 
1

sql_calc_found_rows

cSuwwi · 2008. Szep. 25. (Cs), 18.37

$query = "SELECT SQL_CALC_FOUND_ROWS * FROM hirek WHERE ... LIMIT 0, 10"; 

// ez a sima lekérdezés, a limit miatt 10 elem lesz
$result = mysql_query($query);

// ez pedig az utolsó sql parancs, megszámolja hány sort adna vissza a query _ha nem lenne ott a limit_, vagyis összesen hány sor felel meg a feltételeknek
$osszesen = mysql_fetch_row(mysql_query("SELECT FOUND_ROWS()")); 
2

SELECT COUNT(*)

Poetro · 2008. Szep. 25. (Cs), 18.51
<?php
$kommentarok = mysql_result(
  mysql_query(
    sprintf("SELECT COUNT(*) FROM kommentarok WHERE naviid = %d", $hirid)
  ));
3

Vagy

nemalevi · 2008. Szep. 26. (P), 07.46
$sorok = mysql_affected_rows();
4

hol kerested?

Akron · 2008. Szep. 26. (P), 09.36
El sem tudom képzelni hol kerested a választ, hogy nem találtad.

lekérdezésben pl.: count(id) as c

lekérdezés után: mysql_num_rows();

(az affected_rows a módosított sorok számát adja vissza)

Sz'al akár mysql akár php doksiban nézel utánna megtaláltad volna a választ.
5

Thank you!

haho · 2008. Szep. 26. (P), 16.01
Köszönöm Nektek a segítséget. Sok dolgom van mostanság, ezért igaz, ami igaz csak felületesen kerestem utána.
Köszönöm!