ugrás a tartalomhoz

Hogyan tudom megszámolni, hány eredménysora van egy lekérdezésnek?

cermon · 2007. Szep. 27. (Cs), 13.51
Hello!

Adatbázisban egy kifejezésre keresek rá, majd a kapott eredményt 10-es csoportokban szeretném megjelentetni oldalanként.

Azonban nem tudom megszámoltatni hány eredménysor van. Tudna valaki segíteni???

<?php
$srch="%".$var."%";
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM hirdetesek where hirdetes LIKE' $srch'"),0);
 
1

Mi a probléma???

vbence · 2007. Szep. 27. (Cs), 13.55
És mit ad vissza a fenti sor?
2

mysql_num_rows

razielanarki · 2007. Szep. 27. (Cs), 15.00
mysql_num_rows ()

alternatív megoldás limit-es query-vel:
SELECT SQL_CALC_FOUND_ROWS mezonevek FROM blablabla LIMIT 10, offszet
és rögtön utána:
SELECT FOUND_ROWS()
ez visszaadja a sorok számát mintha nem lenne limit (a num_rows csak az eredményhalmaz sorait azaz max 10-et adna)
3

A sorok száma!

MiZsolt · 2007. Nov. 20. (K), 15.02
Szinte ugyanez a kérdésem.
Van egy lekérdezésem:

SELECT count(cikk.ID)
FROM cikk
JOIN artabla ON (cikk.ID = artabla.Cikk_ID)

WHERE cikk.aktiv = "yes"

GROUP by cikk.ID

A dolog lényege, hogy lekérdezi azokat a cikkeket amelyek atívak és ár is van hozzájuk.
Egy cikkhez több ár is tartozhat...
Ha ezt a lekérdezést használom azt fogja visszadni, hogy az adott cikkszámhoz hány ár tartozik. Csakhogy nekem az is kellene, hogy összesen mennyi cikk van... Vagyis hány sor lesz!

Próbáltam a leírt formátumot, de valószínűleg nem pontosan használtam a szintaxist és az eredény egy szép kövér hibaüzenet... :-)

Leírná valaki a pontos szintaxist?

Ja én perl CGI-ben kérdezek le!
4

Új téma

vbence · 2007. Nov. 21. (Sze), 08.45
Új témába illett volna.

Amúgy ha azon rekordok száma érdekel a cikkben amikhez egy vagy több ár tartozik:
SELECT COUNT(DISTINCT cikk.id) FROM cikk LEFT JOIN artabla ON (artabla.cikk_id=cikk.id) WHERE cikk.aktiv="yes" AND artabla.cikk_id IS NOT NULL
(nem teszteltem, de valami ilyesmi lesz, ha egyetlen számot szeretnél visszakapni)
5

Eredmény

Carter · 2007. Nov. 21. (Sze), 20.30
Most akkor ebből hogy lesz az, hogy mondjuk tízes csoportokban jelennek meg a termékek, alul meg ebből hogy lesz linksor, amivel kiíratod a további oldalakat, ha vannak?

Mert lekérdezni már le tudjuk, hogy hány darab jön ki.
Vagy csak nekem nem világos? :)
6

Sorok száma

vbence · 2007. Nov. 21. (Sze), 22.07
A kérdés a sorok száma volt. Ha a (nagy) eredménytábla egy halmaza (tól-ig) érdekel, akkor nézd meg a MySQL LIMIT módosítóját.

Általában a lapozás úgy meg, hogy ha pl page=5, akkor ezt beszorozzuk az egy lapon megjelített elemek számával, tehát az 50-estől fog kezdődni, és 10 darabot kérünk le:
SELECT ... LIMIT 50,10