-1
我使用while循环中的JSON解码。每次它在.json文件中创建json代码时,它看起来像下面,我无法读取此.json文件。MySQL数据为JSON通过PHP
[{"0":"2","id":"2","1":"avss","productname":"avss","2":"2920","price":"2920","3":"xasx","textarea":"xasx","4":"e3.jpg","name":"e3.jpg","5":"uploads\/e3.jpg","imagepath":"uploads\/e3.jpg"}]
我希望它是这样的......
[
{
"id": 0,
"name": "Item 0",
"price": "$0"
},
{
"id": 1,
"name": "Item 1",
"price": "$1"
},
{
"id": 2,
"name": "Item 2",
"price": "$2"
},
{
"id": 3,
"name": "Item 3",
"price": "$3"
},
{
"id": 4,
"name": "Item 4",
"price": "$4"
},
{
"id": 5,
"name": "Item 5",
"price": "$5"
},
{
"id": 6,
"name": "Item 6",
"price": "$6"
}
]
代码:
global $connection;
$sql = "SELECT * FROM `forms`";
$mq = mysqli_query($connection,$sql);
while($row = mysqli_fetch_array($mq)){
echo '<div class="form-group"><img src="'.$row['imagepath'].'" alt="HTML5 Icon" style="width:250px;height:180px">  '.
$row['name']."".$row['price'].'</div>';
$emparray = array();
$emparray[] = $row;
$fp = fopen('tables/data.json', 'w');
$k= json_encode($emparray);
fwrite($fp,$k);
fclose($fp);
你的代码在哪里? –
while($ row = mysqli_fetch_array($ mq)){'? – Barmar
您每次在循环中都清空'$ emparray()'。你应该在**循环之前初始化**,在循环内添加到数组**,并将其转换为JSON并在循环后写入文件**。这是简单的逻辑。 – Barmar