создать многомерный массив в php - PullRequest
0 голосов
/ 25 ноября 2011

У меня возникли проблемы при попытке выяснить, как заполнить многомерный массив. Допустим, у меня есть таблица транзакций с различными датами выставления счетов. Сначала у меня есть массив, который получает следующие «выставленные» даты:

Array
(
    [0] => Array
        (
            [BILLED] => 2011-11-18 00:00:00
        )

    [1] => Array
        (
            [BILLED] => 2011-11-22 00:00:00
        )

)

У меня также есть следующий запрос, который в настоящее время жестко запрограммирован на одну из двух указанных выше дат выставления счетов:

$qryOrders = $this->db->query("
       SELECT tblOrders.* 
       FROM tblOrders 
       WHERE tbltc.BILLED = '2011-11-22'"); 
$data['Orders'] = $qryOrders->result_array();

Я знаю, что могу очень легко определить количество элементов массива, используя count ($ Orders); но как я могу вместо этого пройти каждую из «выставленных» дат 2011-11-18 и 2011-11-22, чтобы определить общее число для обеих указанных дат?

Надеюсь, я объяснил это достаточно ясно. Я думаю, что мне, вероятно, нужен какой-то цикл foreach, и каждый раз в цикле я мог бы передавать указанную дату и отслеживать промежуточный итог каждый раз через цикл.

Любые идеи будут с благодарностью. Спасибо,

1 Ответ

1 голос
/ 25 ноября 2011
// this is getting all results for a record
$sql = 
<<<sql
SELECT tblOrders.* 
FROM tblOrders 
WHERE tbltc.BILLED between '{$arr[0]}' and '{$arr[1]}'
sql;

// this is to get total count of matched record
// $sql = 'select count(*) from ..';

если вы используете CI, вы можете легко использовать bind

Пример: -

$sql = 'SELECT tblOrders.* FROM tblOrders WHERE tbltc.BILLED between ? AND ?';
$this->db->query($sql, array($arr[0], $arr[1]));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...