Проблем със заявка

NewGuy

Registered
Здравейте. Тази заявка ми дава грешка.

[sql]SELECT *,count(id) as broj from trailer where idmovie = '$get'[/sql]

Къде греша?

Само...

[sql]SELECT count(id) as broj from trailer where idmovie = '$get'[/sql]

работи но иначе не. :roll:
 
Е тогава защо не го направиш само с * ? Или само с count(id);
Или ти искаш в една заявка хем да видиш колко филми има , хем да я използваш после за извеждане на резултати ?
 
PHP:
$q = mysql_query("SELECT * FROM trailer where idmovie = '$get'");
$broq_na_rezultatite = mysql_num_rows($q);
Така хем ще имаш броя на всички записи и ще можеж да си извеждаш и информацията от таблицата.
 
@baceto90 , добре бе като гледаш човека че има "Мнения: 2483" според тебе мислиш ли че е толкова прост да незнае вариянта с mysql_num_rows ?

Чудя се какво точно искаш да постигнеш.
С една заявка (без mysql_num_rows) да си преброиш резултатите и да извеждаш информацията през нея ли ? Щото това *,count(id) не се връзва някак.
 
Винаги може някой нещо да не знае. Написах го това, защото и аз съм на твойто мнение, че иска с една заявка хем да преброй резултатите хем да си е ползва за извеждане на резултати. :) Ще изчакаме той да каже точно какво иска да направи.
 
С mysql_num_rows знам как става. Въпрос на бързодействие е. Искам с 1 заявка да селектирам всички полета и да преброя записите, които отговарят на условието.

На хостинга работи на localhost-а ми дава грешка заявка. :(
 
А долния ред какъв е ?
С който на хостинга хем си ги извеждаш хем ти изкарва и броя на записите ?
 
[sql]SELECT COUNT(*) AS broi FROM `trailer` WHERE idmovie = '$get'[/sql]

[sql]SELECT COUNT(idmovie) AS broi FROM `trailer` WHERE idmovie = '$get'[/sql]


[sql]SELECT COUNT(id) AS broi FROM `trailer` WHERE idmovie = '$get'[/sql]

Не съм сигурен дали искаш да преброяваш ID или IDMOVIE, заради това виж да не би да грешиш нещо - случва се.

Покажи ми каква грешка ти вади;

http://www.w3schools.com/sql/sql_func_count.asp

ЕДИТ: я виж това малко тъпо, но ;)
PHP:
$query = mysql_query("SELECT * FROM `trailer` WHERE idmovie = '$get'");
$row = mysql_fetch_array($query );
$broq_na_rezultatite = mysql_num_rows($query);
$text = $row['text'];
echo "$text --> $broq_na_rezultatite";

Плюс това, не те разбрах точно какво искаш да направиш: С една заявка, хем да преброиш trailers, хем да извадиш резултата ли?
 
Да но така няма да селектира останалите полета. Накрая ще взема да ги изреда... :roll:

Да точно това nomer1. :roll:
 
PHP:
$query = mysql_query("SELECT * FROM `trailer` WHERE idmovie='$get' ORDER BY idmovie DESC;");
if ($row = mysql_fetch_array($query)) {
	$tnum = mysql_num_rows($query);
	$promenliva = $row['promenliva'];
		echo "БРОЙ: $tnum <br /> $promenliva";
}

Ако съм те разбрал правилно.. :?:
 
NewGuy, няма как с една заявка, освен ако не ползваш mysql_num_rows (както ти е дал код nom3r1).

[sql]SELECT *, count(id) FROM table[/sql]

Каквото и да правиш ще ти изкара всички полета от първия (или последния) резултат, като ще сложи и една колона с числото преброени резултати.

Т.е ако имаш таблица

id|name|password
1|adrian|parola
2|NewGuy|parola
3|other|parola

резултата ще е:

1|adrian|parola|3

или

3|other|parola|3

но в никакъв случай няма да ти изкара и трите резултата, а само един.

И аз не използвам mysql_num_rows() за преброяване на резултатите в повечето случаи заради бързината му, но в конкретния случай аз поне не се сещам за друг начин :)
 
NewGuy каза:
Другото условие е да е без mysql_num_rows сравнително по-бавно е. :lol:

Другото, което се сещам е:

PHP:
$query = mysql_query("SELECT * FROM `trailer` WHERE idmovie='$get' ORDER BY idmovie DESC;");
if ($row = mysql_fetch_array($query)) {
        //$tnum = mysql_num_rows($query);
	$tnum = mysql_query("SELECT COUNT(id) FROM `trailer` WHERE idmovie = '$get'");
        $promenliva = $row['promenliva'];
                echo "БРОЙ: $tnum <br /> $promenliva";
}

Но, едва ли си съгласен да правиш всичко с две заявки :?:
 
Въпрос на бързодействие. Боже мой...

[sql]SELECT *, (SELECT COUNT(*) FROM table) AS counts FROM table[/sql]

Опитай с такава заявка...
 
Благодаря на всички за информацията. Много ми е трудно да реша на кой да дам точка но ще я дам на proba да му стане 100. :?:
 

Back
Горе