【问题标题】:showing json array with array location显示带有数组位置的 json 数组
【发布时间】:2016-12-31 12:37:22
【问题描述】:

您好,我是 Android 新手。我的问题是我的json 值:

<?php

include 'dbconfig.php';
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT * FROM textviewtable";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
  // output data of each row
  while($row[] = $result->fetch_assoc()) 
  {
    $json = json_encode($row);
  }
}
else {
 echo "0 results";
}

echo $json;

$conn->close();
?>

JSON

[ {"id":"8","ServerData":"ABC","name":"xyz","pincode":"123456"}, {"id":"9","ServerData":"DEF","name":"JHG","pincode":"654321"}, {"id":"10","ServerData":"GHI","name":"KIH","pincode":"142536"} ]

Json ServerDatanamepincode 对象在每一行上都是相同的,但我需要每行的 ServerDatanamepincode 不同。

所以,第一行我想显示ServerDatanamepincode,第二行我想显示ServerData1name1pincode1等。我该怎么做这个?

【问题讨论】:

    标签: php mysql arrays json


    【解决方案1】:

    它只显示一行的原因是因为在每个循环中您只是重新定义了$json 变量。您需要将每一行存储在一个数组中并回显。

    尝试将您的代码更改为:

    <?php
    
    include 'dbconfig.php';
    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }
    
    $sql = "SELECT * FROM textviewtable";
    $result = $conn->query($sql);
    
    if ($result->num_rows > 0) {
    
        $data = [];
    
        //output data of each row
    
        while ($row = $result->fetch_assoc()) {
            $data[] = $row;
        }
    
        echo json_encode($data);
    
    } else {
        echo "0 results";
    }
    
    $conn->close();
    

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 2020-03-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多