MySQL — несколько SQL запросов против php-фильтра результатов

Допустим, есть несколько вкладок:

  • все строки
  • строки в мусор
  • строки, ожидающие подтверждения

Я пытаюсь выяснить, какой лучший способ создать несколько наборов данных

a — один набор данных, а затем отфильтровать их в новые с помощью PHP

б — несколько запросов

Количество строк может варьироваться от пары до 100 или 3000.
Есть ли лучший способ в середине, чтобы сделать это?

2

Решение

Я думаю, что вы можете использовать это простое решение:

  1. SQL
SELECT ...,
IF( [{in-trash} condition], 1, 0) as in_trash,
IF( [{to-approve} condition], 1, 0) as to_approve
FROM ...
  1. PHP
<?php
$tabs = cache->get('tabs');
if( ! $tabs )
{
$tabs = [ 'all' => [], 'in_trash' => [], 'to_approve' => [],];
$rows = mysql->query();
foreach( $rows as $row )
{
$tabs ['all'] [] = $row;
if( $row ['in_trash'] )
{
$tabs ['in_trash'] [] = $row;
}
if( $row ['to_approve'] )
{
$tabs ['to_approve'] [] = $row;
}
}
cache->set('tabs', $tabs);
}
?>
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]