PDA

View Full Version : سوال لطفا کمک کنید



rezavb6
شنبه 19 مرداد 1392, 15:23 عصر
سلام
یک سوال دارم دوستان لطفا کمک کنید
یک دیتا بیس دارم
داخلش یک جدول هست به نام rate
داخل جدول یک فیلد داره به نام value
میخوام 5 تا از بزرگترین مقادیر موجود در value بیرون بکشم
و با دستور echo در php چاپ کنم
کسی میدونه دستور select کامل اون چیه؟

MRmoon
شنبه 19 مرداد 1392, 16:33 عصر
SELECT * FROM rate ORDER BY value DESC LIMIT 5

rezavb6
شنبه 19 مرداد 1392, 19:01 عصر
لطفا یک نگاهی به این کد بندازید یک مشکل اساسی داره

من میخواهم 5 تا بزرگترین اعداد از جدول rate بیرون بیارم این هرکدام از این 5 عدد یک شماره ایدی داره

برای اینکه بفهمم این شماره ایدی مربوط به کدام یوزر هست مجبورم ووصل بشم به جدول دیکه و با دادن شماره ایدی این 5 عدد نام کاربریو در بیارم




این کد 5 تا بزرگترین در میاره

$rows = mysql_query("SELECT * FROM se_ratings ORDER BY rating_value DESC LIMIT 5");
while($row = mysql_fetch_array($rows))
ایدی متناظر با هر کدام از این 5 تا عدد بزرگ نگه میداره
$id=$row['rating_object_id'];
حالا برای فهمیدن نام کاربری وصل میشم به یک
جدول دیگه با دادن هر کدام از این ایدها نام کاربری در میارم
$result = mysql_query("SELECT * FROM se_users
WHERE user_id=$id");
while($row = mysql_fetch_array($result))
{
echo "<a href=http://localhost/".$row['user_username'].">".$row['user_displayname']."</a>";
echo ",";






مشکل اینجاست که از این 5 تا فقط اخرین نام کاربریو در میاره

اگر دوستان راخی برای حل این مشکل دارن ممنون میشم
کد اصلاح شده را برام بنویسن اطلاعاتی خیلی کمی راجب کد نویسی دارم

MinusOne
یک شنبه 20 مرداد 1392, 17:05 عصر
وقتی از چندتا while تو در تو استفاده می کنین ، باید توجه داشته باشین که اسم متغیرهای مخصوص به while ها مختلف باشه وگرنه نتیجه کاملا با چیزی که انتظار دارین فرق میکنه.

$rows = mysql_query("SELECT * FROM se_ratings ORDER BY rating_value DESC LIMIT 5");
while($row = mysql_fetch_array($rows))
ایدی متناظر با هر کدام از این 5 تا عدد بزرگ نگه میداره
$id=$row['rating_object_id'];
حالا برای فهمیدن نام کاربری وصل میشم به یک
جدول دیگه با دادن هر کدام از این ایدها نام کاربری در میارم
$result = mysql_query("SELECT * FROM se_users
WHERE user_id=$id");
while($row1 = mysql_fetch_array($result))
{
echo "<a href=http://localhost/".$row1['user_username'].">".$row1['user_displayname']."</a>";
echo ",";