terrorhell
یک شنبه 18 مرداد 1388, 23:39 عصر
سلام
بچه ها من یک مشکلی در جمع تعداد رکورد هایی که از دیتابیس میگیرم دارم و هر کاری کردم نفهمیدم مشکل از کجا بود
من از 3 حلقه وایل تو در تو استفاده کردم ، که حلقه سوم بر اساس اطلاعاتی که میگره یک کوئری رو اجرا میکنه و اطلاعات رو نمایش میده ،
مشکل من اینه که وقتی مثلاً اون کوئری 4 تا رکورد از جدول پیدا میکنه و نمایش میده و وقتی میخوام تعداد رکوردهایی که پیدا کرده رو بهم بگه واسه هر رکورد عدد 1 رو نسبت میده
مثلاً وقتی 4 رکورد از جدول پیدا میکنه و من دستور mysql_num_rows رو ازش میخوام اون 4 تا رکورد که پیدا کرده رو نمایش میده اما واسه دستور mysql_num_rows چهار تا یک نمایش میده
1111
و به همین صورت ( اگه 10 تا هم پیدا کنه نمایش میده و تعداد کل رکورد ها رو به این صورت نمایش میده 1111111111 )
ممنون میشم این کد رو ببینین و منو راهنمایی کنید .
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$user = $_GET['user'];
$sql = mysql_query("SELECT * FROM _users where username='$user'; ");
$row = mysql_fetch_assoc($sql);
$user_id = $row['id'];
$check = mysql_query("SELECT * FROM _friends where user_id='$user_id' ; ");
while($row1 = mysql_fetch_array($check))
{
$userid = $row1['user_id'];
$friendid = $row1['friend_id'];
$check2 = mysql_query("SELECT * FROM _friends WHERE user_id='$friendid' AND friend_id='$userid';");
$num2 = mysql_num_rows($check2);
if($num2 > 0 )
{
$row2 = mysql_fetch_array($check2);
$friend_show = $row2['user_id'];
$sql3 = mysql_query("SELECT * FROM _users where id='$friend_show'; ");
$row3 = mysql_fetch_assoc($sql3);
$frnd_user = $row3['username'];
$sql4 = mysql_query("SELECT * FROM _users WHERE username='$frnd_user'");
while($row4 = mysql_fetch_array($sql4))
{
$username_friend = $row4['username'];
$id_friend = $row4['id'];
$sql5 = mysql_query("SELECT * FROM profile WHERE user_id='$id_friend'");
while($row5 = mysql_fetch_array($sql5))
{
$num = mysql_num_rows($sql5);
echo $num; // age 5 ta record peida kone jame ro be in soorat minevise ( 11111 )
echo $username_friend; // etela@y ke az Database migire ma dorost namayesh mide
}
}
}
else
{
/////
}
}
?>
بچه ها من یک مشکلی در جمع تعداد رکورد هایی که از دیتابیس میگیرم دارم و هر کاری کردم نفهمیدم مشکل از کجا بود
من از 3 حلقه وایل تو در تو استفاده کردم ، که حلقه سوم بر اساس اطلاعاتی که میگره یک کوئری رو اجرا میکنه و اطلاعات رو نمایش میده ،
مشکل من اینه که وقتی مثلاً اون کوئری 4 تا رکورد از جدول پیدا میکنه و نمایش میده و وقتی میخوام تعداد رکوردهایی که پیدا کرده رو بهم بگه واسه هر رکورد عدد 1 رو نسبت میده
مثلاً وقتی 4 رکورد از جدول پیدا میکنه و من دستور mysql_num_rows رو ازش میخوام اون 4 تا رکورد که پیدا کرده رو نمایش میده اما واسه دستور mysql_num_rows چهار تا یک نمایش میده
1111
و به همین صورت ( اگه 10 تا هم پیدا کنه نمایش میده و تعداد کل رکورد ها رو به این صورت نمایش میده 1111111111 )
ممنون میشم این کد رو ببینین و منو راهنمایی کنید .
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$user = $_GET['user'];
$sql = mysql_query("SELECT * FROM _users where username='$user'; ");
$row = mysql_fetch_assoc($sql);
$user_id = $row['id'];
$check = mysql_query("SELECT * FROM _friends where user_id='$user_id' ; ");
while($row1 = mysql_fetch_array($check))
{
$userid = $row1['user_id'];
$friendid = $row1['friend_id'];
$check2 = mysql_query("SELECT * FROM _friends WHERE user_id='$friendid' AND friend_id='$userid';");
$num2 = mysql_num_rows($check2);
if($num2 > 0 )
{
$row2 = mysql_fetch_array($check2);
$friend_show = $row2['user_id'];
$sql3 = mysql_query("SELECT * FROM _users where id='$friend_show'; ");
$row3 = mysql_fetch_assoc($sql3);
$frnd_user = $row3['username'];
$sql4 = mysql_query("SELECT * FROM _users WHERE username='$frnd_user'");
while($row4 = mysql_fetch_array($sql4))
{
$username_friend = $row4['username'];
$id_friend = $row4['id'];
$sql5 = mysql_query("SELECT * FROM profile WHERE user_id='$id_friend'");
while($row5 = mysql_fetch_array($sql5))
{
$num = mysql_num_rows($sql5);
echo $num; // age 5 ta record peida kone jame ro be in soorat minevise ( 11111 )
echo $username_friend; // etela@y ke az Database migire ma dorost namayesh mide
}
}
}
else
{
/////
}
}
?>