View Full Version : سوال: نمایش فقط یکبار از اطلاعات
mamali-mohammad
چهارشنبه 06 مهر 1390, 00:45 صبح
سلام
مثلا ما در دیتابیس اینارو داریم :
2,2,9,3,4,2,4,2,2,3,6,4,
حالا میخوام اینارو نمایش بدم
اما به این شرط که عدد تکراری نباشه
مثلا اگه 10 تا 2 داریم ، فقط یکیشون نشون بده
از group by استفاده کردم جواب نداد
به طور کل میخوام حاصل بالایی این باشه :
2,9,3,4,6
mohsen6500
چهارشنبه 06 مهر 1390, 01:10 صبح
سلام میتونید از این دستور استفاده کنید
$query = "select distinct $Fild from $Table ";
$result = mysql_query($query,$db);
faravaghi
چهارشنبه 06 مهر 1390, 01:15 صبح
سلام دوست عزیز،
شما می توانید با دستور DISTINCT ، فقط یکی از مقادیری را که در بانک همانند هستند را انتخاب نمایید.
SELECT DISTINCT column_name(s)
FROM table_name
اینم آدرس منبع (http://www.w3schools.com/sql/sql_distinct.asp)
mamali-mohammad
پنج شنبه 07 مهر 1390, 02:14 صبح
ممنون دوستان
این مشکل حل شد
حالا اگه بخوام اطلاعات رو بر اساس دو فاکتور نشون بدم باید چه کنم ؟
binyaft
پنج شنبه 07 مهر 1390, 11:31 صبح
ممنون دوستان
این مشکل حل شد
حالا اگه بخوام اطلاعات رو بر اساس دو فاکتور نشون بدم باید چه کنم ؟
اینی که گفتی یعنی چه ؟
mamali-mohammad
پنج شنبه 07 مهر 1390, 12:41 عصر
من دارم یه قسمت آرشیو مینویسم
این کدش شده برای نمایش لیست آرشیو :
$list ='';
$select = mysql_query("SELECT distinct `date` FROM `list` LIMIT 12");
while( $row = mysql_fetch_array($select) )
{
$year = jdate("y",strtotime($row["date"]));
$month = jdate("F",strtotime($row["date"]));
$years = jdate("y",strtotime($row["date"]));
$months = jdate("m",strtotime($row["date"]));
$list .= '<a href="archive.php?archive='.$years.'-'.$months.'">آرشیو '.$month.' سال '.$year.'</a><br />';
}
اینم خروجیش :
آرشیو مهر سال 1390
آرشیو شهریور سال 1390
حالا میخوام یه لیست دیگه فقط برای سال بسازم
مثلا :
آرشیو سال 1389
آرشیو سال 1388
این مورد رو موندم چطوری انجام بدم
binyaft
پنج شنبه 07 مهر 1390, 14:39 عصر
فرمت ذخیره سازی اگر به صورت زیر باشه
2001-01-01
میتونی با LIKE این کار رو انجام بدی ....
mamali-mohammad
پنج شنبه 07 مهر 1390, 16:28 عصر
بله همینطوری هست
میتونید کد کامل بدید ؟
binyaft
پنج شنبه 07 مهر 1390, 16:45 عصر
SELECT * FROM `tbl_name` WHERE `date` LIKE '2010%'
mamali-mohammad
پنج شنبه 07 مهر 1390, 18:20 عصر
ممنون
کد نمونه شما درسته برای 2011
من مشکلم اینه که میخوام سال رو بخونه
یعنی جای 2011 شما یه متغیر بزارم که فقط سال رو بکشه بیرون
mamali-mohammad
جمعه 15 مهر 1390, 14:57 عصر
دوستان چیکار کنم ؟
من الان میخوام فقط بر اساس ماه نشون بده اطلاعات رو
چه کنم ؟
mamali-mohammad
جمعه 15 مهر 1390, 19:43 عصر
دوستان کسی هست کمک کنه ؟
blackmak
جمعه 15 مهر 1390, 19:52 عصر
// ّبر اساس سال
SELECT * FROM `tbl_name` WHERE `date` LIKE '2010-%'
// ّبر اساس ماه
SELECT * FROM `tbl_name` WHERE `date` LIKE '%-12-%'
// ّبر اساس روز
SELECT * FROM `tbl_name` WHERE `date` LIKE '-%25'
mamali-mohammad
جمعه 15 مهر 1390, 20:38 عصر
اینی که شما نوشتی فقط برای یه سال هست
من دیتابیسم شامل 10 سال هست که میشه حدود 120 ماه !
blackmak
جمعه 15 مهر 1390, 21:00 عصر
دقیقا میشه بگید خروجی چی می خوایین ؟
mamali-mohammad
جمعه 15 مهر 1390, 21:13 عصر
من میخوام از دیتابیس آرشیو رو بکشم بیرون
به این صورت که لیست آرشیوی بیاد فقط بر اساس ماه بکشه بیرون
و اینکه ماه های یکسان فقط یه بار تکرار بشه
اینم کد بنده :
$sql= mysql_query("SELECT DISTINCT `date` FROM `list` LIMIT 12");
این میاد بر اساس تاریخ میکشه بیرون اما یکسان هارو بر اساس کل تاریخ در نظر میگیره
مثلا اگه دو مطلب در تاریخ 11/8/1388 زده شده باشه رو یکی میکنه اما اگه یه مطلب در تاریخ 12/8/1388 باشه ، اینو جدا نشون میده
حالا من میخوام بر اساس ماه باشه فقط
blackmak
جمعه 15 مهر 1390, 21:53 عصر
ببین یه کاری کن addam کن تو یاهو blackmaak
mamali-mohammad
جمعه 15 مهر 1390, 22:09 عصر
اگه میشه هینجا پاسخ بدید
ممنون
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.