Как сортировать по текстовому полю varchar() по числу.

 
Посетитель
small user social cms
Медаль
Сообщений: 624
Всем привет. Как сортировать по текстовому полю varchar() по числу ? Ветка 2*

Код PHP:
  1. $rating_fiba = $this->model->orderBy('user_rank', 'desc')->getSportFibaRank();
- это поле varchar 255. Спасибо!

Нужно сортировать

- 23,770
- 25,660
- 9,500
- 80,600
и тд.
Редактировалось: 3 раз (Последний: 5 сентября 2017 в 22:23)
Посетитель
small user social cms
Медаль
Сообщений: 653
Нико:
Всем привет. Как сортировать по текстовому полю varchar() по числу ? Ветка 2*
Первый вопрос - почему вы решили хранить числовые данные в типе varchar, а не float или int?

Ну да ладно, даже если так, то нужно привести сначала к int (если целые числа), а потом сортировать.
Почитайте тут про приведение типов в mysql - перейти. Надо пробовать, код не буду писать готовый..
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 624
@SmartControl:

Нико:
Всем привет. Как сортировать по текстовому полю varchar() по числу ? Ветка 2*
Первый вопрос - почему вы решили хранить числовые данные в типе varchar, а не float или int?

Ну да ладно, даже если так, то нужно привести сначала к int (если целые числа), а потом сортировать.
Почитайте тут про приведение типов в mysql - перейти. Надо пробовать, код не буду писать готовый..

Я просто беру данные из другого сайта там используется "," а в in не хранится запятые сразу первые числа сохраняются. до запятой.
Посетитель
small user social cms
Медаль
Сообщений: 653
Нико:
Я просто беру данные из другого сайта там используется ","
Хорошо, но вы же данные сами в свою базу кладете? - зачем же вам эти запятые. Убирайте и храните числа. Меньше проблем будет.
Посетитель
small user social cms
Медаль
Сообщений: 624
@SmartControl:

Нико:
Я просто беру данные из другого сайта там используется ","
Хорошо, но вы же данные сами в свою базу кладете? - зачем же вам эти запятые. Убирайте и храните числа. Меньше проблем будет.

Я кладу данные через функцию

Код PHP:
  1. function strGetHtml($html){
  2.  
  3. require_once(PATH.'/simple_html_dom.php');
  4. $html = str_get_html($html);
  5. $courses = $html->find('.PlayerProfile-Rankings');
  6. foreach($courses as $course) {
  7. $res = $course->find('p', 0);
  8. $result = $res->text(); (данные тут) это число например 23,444 как ее занести без запятой, а с точкой?
  9. }
  10.  
  11. return $result;
  12. }
Редактировалось: 1 раз (Последний: 6 сентября 2017 в 01:19)
Посетитель
small user social cms
Медаль
Сообщений: 653
Нико, "строковые функции php" в поиске наберите.
Посетитель
small user social cms
Медаль
Сообщений: 624
Код PHP:
  1. $result = str_replace(',','.',$restr);
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: