View Full Version : سوال: برای دریافت اطلاعات دیتابیس به ترتیب حروف الفبا
m_feyz
شنبه 09 مرداد 1389, 12:52 عصر
با سلام به همه. برای دریافت اطلاعات از پایگاه داده و نمایش آنها به ترتیب حروف الفبای یکی از ستون ها باید چه کار کرد. مثلاً می خواهیم اول، سطرهایی که اول نام ستون name آنها الف باشه به ترتیب حروف الفبا و بعد ب و بعد پ و ... نمایش بدیم. یک راه اینه که کل اطلاعات ستونها را در یک ارایه ذخیره کنیم و بعد آرایه را به ترتیب حروف الفبا مرتب کنیم ولی فکر نمی کنم این کار برای جدول هایی که مثلاً یک میلیون سطر دارن مناسب باشه. شما راه حلی دارین؟
h_mohamadi
شنبه 09 مرداد 1389, 14:35 عصر
باید حتما از یک ستون استفاده کنی و برای هر حرف فارسی معادل انگلیسی قرار دهی و بعد بر اساس آن ستون سورت کنی و گرنه با سورت فارسی مشکل داری
afi_program
شنبه 09 مرداد 1389, 19:36 عصر
من هم نظرم مثل دوستمونه.چون ميتوني از sql استفاده كني(مثل ascending براي ستون مورد نظر)اما براي فارسي فكر نمي كنم جواب بده.
البته اگر اشتباه گفتم حتما دوستان تصحيح كنن.
موفق باشي
ali zi zeperto
یک شنبه 10 مرداد 1389, 06:31 صبح
باید حتما از یک ستون استفاده کنی و برای هر حرف فارسی معادل انگلیسی قرار دهی و بعد بر اساس آن ستون سورت کنی و گرنه با سورت فارسی مشکل داری
بیشتر توضیح میدید.جدا از اینکه راه حل رو متوجه نشدم تازه حروف فارسی بیشتر از انگلیسی ان.چظوری برای هر حرف یه معادل قرار بدم.
m_feyz
یک شنبه 10 مرداد 1389, 09:39 صبح
باید حتما از یک ستون استفاده کنی و برای هر حرف فارسی معادل انگلیسی قرار دهی و بعد بر اساس آن ستون سورت کنی و گرنه با سورت فارسی مشکل داری
دستور سورت کردن چیه؟ منظورتون اینه که کل سطرها رو تو یه آرایه ذخیره کنم و بعد با دستور sort($array);a اونو مرتب کنم یا دستور دیگه ای داره؟ به نظرتون اگه تعداد سطرها خیلی زیاد باشه و بخوام همه سطرها رو تو یه آرایه ذخیره کنم بعد سورت کنم مشکلی پیش نمیاد؟
maysam.m
یک شنبه 10 مرداد 1389, 12:19 عصر
با سلام
این تاپیک را ببین شاید مشکلتو حل کنه:
http://barnamenevis.org/forum/showthread.php?p=267629
majoran
پنج شنبه 28 مرداد 1389, 00:12 صبح
دوست عزیز راحت ترین کار را فرا موش کردی به راحتی با دستور order این کار را انجام بده خط آخر رو نگاه کن
SELECT tbl_students.*,CONCAT(`tbl_students`.`st_family`," - ",
`tbl_students`.`st_name`) AS name FROM tbl_students
INNER JOIN tbl_sc_nd ON tbl_students.st_id= tbl_sc_nd.st_id
INNER JOIN tbl_sc_md ON tbl_sc_nd.md_id = tbl_sc_md.md_id
INNER JOIN tbl_teacher ON tbl_teacher.tec_id= tbl_sc_md.tec_id
WHERE tbl_teacher.l_id='.$_SESSION ['llid'].' group by tbl_students.st_id order by BINARY(st_family)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.