كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> برنامه‌نويسي تحت وب -> زبان برنامه‌نويسي PHP
پاسخ دادن به این موضوع
مرتب کردن لیست در PHP
پست تاریخ: شنبه 2 دی 1391 - 12:28    
reza_si
شروع فعاليت
شروع فعاليت


پست: 36
عضو شده در: 8 اسفند 1387
محل سکونت: مازندران
blank.gif


امتياز: 329

عنوان: مرتب کردن لیست در PHP خواندن مشخصات فردی ارسال پیام شخصی

سلام ...

من تازه با PHP آشنا شدم ... یه سوال داشتم :

چه طوری می شه داده هایی که از سرور می خونیم رو برحسب یکی از داده ها سورت کنیم ؟

یعنی مثلا اسم شرکت کنندگان بر حسب امتیازی که دارن سورت شه ( در واقع یه Standing)

مثلا من اینجا یه Standing نوشتم اما سورت نشده ... Smile

اگه لطف کنید راهنمایی کنید ممنون می شم Very Happy

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: شنبه 2 دی 1391 - 23:34    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5366
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47025

عنوان: پاسخ به «مرتب کردن لیست در PHP» خواندن مشخصات فردی ارسال پیام شخصی

سلام.
اکر منظورت اینه که با دستور SELECT از دیتابیس داده‌ها رو خوندی، فقط کافیه دستور SELECT رو به صورت زیر بنویسی:
کد:
SELECT * FROM `myTable`ORDER BY `column`

به جای myTable نام جدول و به جای column نام ستون مورد نظرت رو بنویس.

و اما اگر منظورت اینه که چطور یک آرایه رو باید بر اساس یک کلید (سرستون) بچینی، این سؤال در حد کسی که تازه PHP رو شروع کرده نیست...
اما به هر حال، برای این کار می‌تونی از این تابع استفاده کنی:
کد:
function aasort (&$array, $key, $order) {
      $sorter=array();
      $ret=array();
      reset($array);
      foreach ($array as $ii => $va) {
         $sorter[$ii]=$va[$key];
      }
      if($order=="asc")
         asort($sorter);
      else
         arsort($sorter);
      foreach ($sorter as $ii => $va) {
         $ret[$ii]=$array[$ii];
      }
      $array=$ret;
   }


این تابع رو یه جا (بالای صفحه) قرار بده و به این صورت فراخوانی کن:
کد:
aasort($list,'key','desc');

به جای key نام ستون و به جای desc می‌تونی asc هم بنویسی که صعودی بشه. منظور از ‎$list‎ هم که آرایه توست.

موفق باشی.


این مطلب آخرین بار توسط Hamid در چهار‌شنبه 6 دی 1391 - 18:40 ، و در مجموع 1 بار ویرایش شده است.

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست: reza_si (چهار‌شنبه 6 دی 1391 - 17:31)

پست تاریخ: چهار‌شنبه 6 دی 1391 - 17:40    
reza_si
شروع فعاليت
شروع فعاليت


پست: 36
عضو شده در: 8 اسفند 1387
محل سکونت: مازندران
blank.gif


امتياز: 329

عنوان: Re: پاسخ به «مرتب کردن لیست در PHP» خواندن مشخصات فردی ارسال پیام شخصی

Hamid نوشته است:
سلام.
اکر منظورت اینه که با دستور SELECT از دیتابیس داده‌ها رو خوندی، فقط کافیه دستور SELECT رو به صورت زیر بنویسی:
کد:
SELECT * FROM `myTable`ORDER BY `column`

به جای myTable نام جدول و به جای column نام ستون مورد نظرت رو بنویس.

و اما اگر منظورت اینه که چطور یک آرایه رو باید بر اساس یک کلید (سرستون) بچینی، این سؤال در حد کسی که تازه PHP رو شروع کرده نیست...
اما به هر حال، برای این کار از این تابع استفاده کنی:
کد:
function aasort (&$array, $key, $order) {
      $sorter=array();
      $ret=array();
      reset($array);
      foreach ($array as $ii => $va) {
         $sorter[$ii]=$va[$key];
      }
      if($order=="asc")
         asort($sorter);
      else
         arsort($sorter);
      foreach ($sorter as $ii => $va) {
         $ret[$ii]=$array[$ii];
      }
      $array=$ret;
   }


این تابع رو یه جا (بالای صفحه) قرار بده و به این صورت فراخوانی کن:
کد:
aasort($list,'key','desc');

به جای key نام ستون و به جای desc می‌تونی asc هم بنویسی که صعودی بشه.

موفق باشی.


به شدت مرسی !

همون اولی منظورم بود ... فقط یه چیزی این الآن سورتش که می کنه به ترتیب صعودی سورت می کنه چیکار کنم برعکس شه ؟ الآن اینجا رو ببینید منظورمو می فهمید : اینجا

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 6 دی 1391 - 18:38    
Hamid
مدیريت كل سایت
مدیريت كل سایت


پست: 5366
عضو شده در: 31 اردیبهشت 1384
محل سکونت: -::ساوه::-
iran.gif


امتياز: 47025

عنوان: پاسخ به «مرتب کردن لیست در PHP» خواندن مشخصات فردی ارسال پیام شخصی

اگر پایگاه داده رو خوب بلد نباشی که نمی‌تونی کاری انجام بدی! اینا ساده‌ترین مباحث پایگاه داده به حساب میاد.
حداقل این جزوه رو مطالعه کن:
http://aftab.cc/tutorial/582
به هر حال، اگر انتهای همون دستور اول DESC بنویسی، نزولی می‌شه...
کد:
SELECT * FROM `myTable`ORDER BY `column` DESC

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 6 دی 1391 - 19:55    
reza_si
شروع فعاليت
شروع فعاليت


پست: 36
عضو شده در: 8 اسفند 1387
محل سکونت: مازندران
blank.gif


امتياز: 329

عنوان: پاسخ به «مرتب کردن لیست در PHP» خواندن مشخصات فردی ارسال پیام شخصی

مرسی !

راستش من دانش آموزم و نمی دونستم این دستورات مربوط به کجاست تا برم مطالعه کنم !

بازم مرسی از لطفتون ! Very Happy

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2017. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc