PDA

View Full Version : مبتدی: چطور تعداد سطرهایی که کوئری برگردانده را بشمارم؟



ihnd4s
پنج شنبه 14 آذر 1392, 17:16 عصر
سلام.
نتونستم از تابع های mysql_num_row یا count استفاده کنم.
اولی به این دلیل که متغیر من یک آرایه است و گویا اولی روی آرایه ها جواب نمیده و کلن داره از php5 حذف میشه.
دومی هم هیچ نتیجه ای را بر نمیگردونه.

کاری که سعی دارم انجام بدم این هست که میخوام موقعی که کوئری من نتایج را به صورت آرایه داخل متغیر میریزه که اینها کامنتهای یک پست هستند، تعدادشون را بگیرم. که بتونم تعداد کامنت ها را داشته باشم.
باید تعداد سطرهایی را بگیرم که کوئری به من میده.
کوئری من اینه:
SELECT * FROM `q_comments` WHERE `question_id` = _question_id;
END

یک جایی دیدم که گفته بود میشه تعداد سطرها را همینجا توی کوئری درخواست کرد. چطوری؟
اگر هم باید با php تعداد سطرها را بگیرم، اون چطوری؟

پیشاپیش ممنونم.

masiha68
پنج شنبه 14 آذر 1392, 20:41 عصر
mysql_num_row کار نمی کنه !!!! واسه من که کار می کنه ... من با این تابع تعداد کامنت ها رو می گیرم



function gettotalcomment($id)
{
getconnection();
$sql=mysql_query("select * from comment where idpost='$id'") or die(mysql_error());
echo mysql_num_rows($sql);
$pop=mysql_fetch_assoc($sql);
{

MostafaEs3
پنج شنبه 14 آذر 1392, 22:22 عصر
//////////

ihnd4s
جمعه 15 آذر 1392, 00:20 صبح
از توضیحات خوب شما دو بزرگوار ممنونم.
ولی شاید من نتونستم دقیقن منظورم را به شما بگم.
من دارم با متد oop تمرین میکنم و در این متد از روش mysql_num_rows استفاده ای نشد بکنم.
روش دومی هم که دوستم گفتن نتونستم توی php دریافتش کنم.

یک نگاه به این پیج بندازین http://stackoverflow.com/questions/11305230/alternative-for-mysql-num-rows-using-pdo
دقیقن مشکلی که من دارم به چندین روش اینجا جواب داده شده منتها من در نهایت هیچ کدوم را نتونستم اجرا کنم.
چون من هم دارم از stored procedure استفاده میکنم هم دارم از کلاسها استفاده میکنم و مثال هایی که توی همه این جواب ها میبینم هیچ کدوم من رو راهنمایی نمیکنه.

قطعه کد من دقیقن این هست:


<?php
class question
{
public $showquestion
, $showanswer
, $showcomments
, $totalComments
;
public function __construct()
{
if(isset($_GET['id']))
{
$this->showquestion = QUESTIONS::questions_SelectRow($_GET['id']);
$this->showanswer = ANSWERS::answers_SelectRow($_GET['id']);
$this->showcomments = Q_COMMENTS::q_comments_SelectAll($_GET['id']);
$this->totalComments = Q_COMMENTS::sp_q_comments_CountAll($_GET['id']);
}
}

}

?>


البته خط آخر را وقتی اضافه کردم که طبق فرمایش آقای مصطفایی کوئری جدید را براش ایجاد کردم ولی متوجه نمیشم چطور باید نتیجه را از این کوئری دریافت کنم.
چون وقتی

$this->totalComments
را خروجی میگیرم خطا دریافت میکنم.
با تشکر.