PDA

View Full Version : سوال: چطوری تعداد رکورد های ذخیره شده در جدولی را بیابیم؟



Cyletech
شنبه 06 فروردین 1390, 13:25 عصر
سلام بر شما دوست خوب،

من قصد دارم تعداد رکورد های یک ستون از جدول رو دربیارم و نمایش بدم برای مثل زیر عمل کردم که مشکلش اینجاست خروجی هرچقدر که تعداد رکورد باشه بجاش یدونه 1 قرار میده. مثلاً اگر تعداد رکورد ها باشه 3 تا ، خروجی میشه 111 ! مشکل اینجاست...



$getallusers = $conn->GnIQuery( "SELECT `id` FROM `members`" );
$getalllyrics = $conn->GnIQuery( "SELECT `id` FROM `content`" );
while( $rowly = mysql_fetch_row( $getalllyrics ) ) {
echo( count( $rowly ) );
}
while( $rowus = mysql_fetch_row( $getallusers ) ) {
echo( count( $rowus ) );
}

sargardoon
شنبه 06 فروردین 1390, 13:34 عصر
چرا از mysql_num_rows استفاده نمیکنی؟ این تعداد ردیف ها رو بهت میگه چندتاست

MMSHFE
شنبه 06 فروردین 1390, 19:12 عصر
با سلام، كدهاي زير رو هم بررسي كنيد:


$getallusers = mysql_result($conn->GnIQuery("SELECT COUNT(*) FROM `members`"),0,0);
$getalllyrics = mysql_result($conn->GnIQuery("SELECT COUNT(*) FROM `content`"),0,0);

كد فوق اين مزيت رو هم داره كه اگه به جاي * داخل پرانتز، عبارت DISTINCT و در ادامه، نام فيلد مربوطه رو قرار بدين، تعداد ركوردهاي غيرتكراري رو بر ميگردونه.
مثال:


$getallusers = mysql_result($conn->GnIQuery("SELECT COUNT(DISTINCT `name`) FROM `members`"),0,0);
$getalllyrics = mysql_result($conn->GnIQuery("SELECT COUNT(DISTINCT `title`) FROM `content`"),0,0);

كه به جاي name و title بايد اسامي فيلدهاي دلخواه خودتون رو قرار بدين. دقت كنيد كه استفاده از توابع شمارشي خود MySQL مثل COUNT و SUM و... در تعداد ركوردهاي بالا خيلي سريعتر جواب ميده.
موفق باشيد.