PDA

View Full Version : سوال: حلقه تکرار



sedamorde
یک شنبه 03 مرداد 1389, 19:10 عصر
سلام دوستان
اگر کسی بتونه به من کمک کنه ممنون میشم.

من یک جدول در بانک دارم که اطلاعات کاربر در آن ثبت میشه. حالا میخوام در یک حلقه تمام کاربران را نشون بده و بر اساس تاریخ آخرین ورود (در جدول هست) از هم جدا کنه.
مثلا:

2 مرداد
x1
x2
...

3 مرداد
x4
x5
...

چطوری باید تو حلقه این کار را انجام بدم؟
مرسی

iner30
یک شنبه 03 مرداد 1389, 19:21 عصر
مرتب کن بر اساس روز بعد چاپ کن
order by date

sedamorde
یک شنبه 03 مرداد 1389, 19:24 عصر
مرسی دوست عزیز. خودم هم به ذهنم رسید اما نمیدونم چطوری. میشه راهنمایی بیشتری بکنید؟

iner30
یک شنبه 03 مرداد 1389, 19:28 عصر
select * from user order by date

با این کد مرتب کن ،
بعد یه شرط بذار تاریخ هارو مقایسه کنه ، اگه روزش عوض شده بود تاریخ رو چاپ کنه بعد اسامی رو بنویسه ف تا موقعی هم که تاریخ عوض نشده تاریخ رو چاپ نکنه

sedamorde
یک شنبه 03 مرداد 1389, 19:33 عصر
چطوری شزط بگذارم تاریخ ها را مقایسه کنه!؟ این query شما به ترتیب تاریخ نشون میده اما چیزی که من میخوام اینکه تاریخ هر روز را نشون بده و زیرش اسم کاربران...
مرسی.

iner30
یک شنبه 03 مرداد 1389, 19:45 عصر
تقریبا به این شکل
کدهاش رو خودت کامل کن


$newdate=$result['date'];
$user=$result['user'];
if ($newdate-$olddate>=1){
echo $newdate;
}
$olddate=$newdate;
echo $user;

iner30
یک شنبه 03 مرداد 1389, 19:46 عصر
البته اینکه نوشتم تاریخ جدید منهای قدیمی برابر 1 بود ، منظورم یک روز بود
اگه تاریخ رو بر حسب روز و ساعت به صورت عددی محاسبه میکنی باید خودت کدهاشو تغییر بدی

sedamorde
یک شنبه 03 مرداد 1389, 19:53 عصر
مرسی iner30 جان, خیلی لطف کردی. این کد خیلی به کار من نمیاد. فکر میکنم باید از GROUP BY کمک بگیرم.

sedamorde
یک شنبه 03 مرداد 1389, 20:16 عصر
راه حل را پیدا کردم :D
شاید یه روزی به درد شما هم بخوره :



<?php
$colors = mysql_query("SELECT DISTINCT color from things ORDER BY color");
while ($color = mysql_fetch_object($colors)) {
$result = mysql_query("SELECT * FROM things WHERE color='{$color->color}'ORDER BY name, size");
print "<table>\n";
print "<caption>{$color->color}</caption>\n";
print "<th>Name</th> <th>Size</th> <th>Color</th>\n";
while ($record = mysql_fetch_object($result)) {
print render($record);
}
print "</table>\n";
}
?>