Запрос CodeIgniter с естественной сортировкой в ​​порядке по пунктуPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Запрос CodeIgniter с естественной сортировкой в ​​порядке по пункту

Сообщение Anonymous »

Я впервые проверил, есть ли такие же проблемы, как у меня; Я ничего не нашел. < /P>
Все сортируют буквенно-цифровой столбец, смешанный с числовыми данными. < /P>
Вот моя проблема.
У меня есть таблица, в которой есть такие наборы столбца A. /> < /blockquote>
Необходимо сортировать это как < /p>

WRG-01 WRG-22 WRG-39 WRG-43 WRG-45 < /p>
< /plockquote>
Это код, который я использую в кодигенте: < /p>
Это код, который я использую в кодигенте: < /p>
Это код.

Код: Выделить всё

$data['products'] = $this->db->order_by('product_id', 'asc')->get('products');
< /code>
В MySQL я могу использовать этот запрос, чтобы выполнить свою работу: < /p>
preg_replace("/[^\d]/", "",'product_id'), 'asc')
Как применить его к моему вышеуказанному коду codeigniter?

Код: Выделить всё

public function search()
{
$data['title'] = 'Search Product';
$product_name       = $this->input->get('product_name');
$product_id         = $this->input->get('product_id');
$product_category   = $this->input->get('product_category');
$secondCategory     = $this->input->get('secondCategory');
$thirdCategory  = $this->input->get('thirdCategory');

$data['category'] = $this->db->order_by('id', 'asc')->get_where('categories', ['parent' => 0]);
if($product_category != '')
{
$data['secondCategory'] = $this->db->get_where('categories', ['parent' => $product_category]);
}
if($secondCategory != '')
{
$data['thirdCategory'] = $this->db->get_where('categories', ['parent' => $secondCategory]);
}

if($product_name != '')
{
$this->db->like('product_name', $product_name);
}
if($product_id != '')
{
$this->db->where('product_id', $product_id);
}
if($product_category != '')
{
$this->db->where('product_category', $product_category);
}
if($secondCategory != '')
{
$this->db->where('secondCategory', $secondCategory);
}
if($thirdCategory != '')
{
$this->db->where('thirdCategory', $thirdCategory);
}

$data['products'] = $this->db->order_by('product_id' 'asc')->get('products');

theme('all_product', $data);

}
Я не могу использовать SQL -запрос здесь, потому что продукты - это массив результатов из таблицы продуктов.

Подробнее здесь: https://stackoverflow.com/questions/334 ... -by-clause
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»