Я пытаюсь построить некоторые объекты сына из запроса mysqli. Я хочу создать один массив, который будет содержать много массивов. Но я получаю некоторую ошибку
Error: [12-Mar-2015 02:56:23 America/New_York] PHP Warning: array_push() expects parameter 1 to be array, null given in /home/bud/public_html/cp/function/receivable.php on line 18
вот мой код:
<?php
require_once('../configuration.php');
$con=new mysqli($hostname,$dbusername,$dbpass,$dbname);
if (mysqli_connect_errno($con)) {
die('The connection to the database could not be established.');
}
if(isset($_POST['date'])){
$date=$_POST['date'];
$receivable= array();
if($date==="All"){
$q1="SELECT * FROM orders WHERE order_status='completed' AND due > '0.00' ORDER BY id DESC";
}else{
$q1="SELECT * FROM orders WHERE DATE(time) = '$date' AND order_status='completed' AND due > '0.00' ORDER BY id DESC";
}
$result=$con->query($q1);
while($row=$result->fetch_array()){
//$receivable['orders'][]=array($row);
array_push($receivable['orders'][], array('id' => $row['id'], 'due' => $row['due'] ));
}
echo json_encode($receivable);
}
?>
Как вставить массив с ключом в $receivable['orders'][];
Я хотел бы создать больше массива, например $receivable['client'][];
и хотел бы нажать переменную с ключами на $ receivable ['orders'] [], например id =>, due =>, paid =>,
Вы можете просто внести некоторые изменения в свой код, и он будет работать.
$receivable['orders'][]= array('id' => $row['id'], 'due' => $row['due'] );
Это даст вам числовой массив как array_push();
Это должно быть сделано таким образом... Параметр 1 должен быть массивом.
// define array
$receivable['orders'] = array();
array_push($receivable['orders'], array('id' => $row['id'], 'due' => $row['due'] ));
Как и в многомерном массиве, запись представляет собой другой массив, укажите индекс этого значения в array_push:
array_push ($ receivable ['orders'], array ('id' => $ row ['id'], 'due' => $ row ['due']));
PHP Warning: array_push() expects parameter 1 to be array, null given in /home/businesscraftsbd/public_html/cp/function/receivable.php on line 21