Javascript 创建一个JSON字符串,将MySQL数据库中的每一行作为新数组元素
我设置了一个MySQL数据库($database),其中包含一个表(“gigdata”)和列名称,如下所示:Javascript 创建一个JSON字符串,将MySQL数据库中的每一行作为新数组元素,javascript,php,json,database,mysqli,Javascript,Php,Json,Database,Mysqli,我设置了一个MySQL数据库($database),其中包含一个表(“gigdata”)和列名称,如下所示: 身份证 客户名称 一天 月 年 邮政编码 地位 进入 每个列名下都有几行测试数据。我已经使用PHP的mysqli类成功地连接到数据库,如下所示 到目前为止,我已经编写了以下PHP: //Connect to database $conn = new mysqli(localhost, $username, $password, $database); //Check connect
- 身份证
- 客户名称
- 一天
- 月
- 年
- 邮政编码
- 地位
- 进入
//Connect to database
$conn = new mysqli(localhost, $username, $password, $database);
//Check connection
if ($conn->connect_error) {
die("Failed to connect to MySQL: " . $conn->connect_error);
}
echo "<p>Connected to database</p>";
//Select data from database
$sql = "SELECT id, clientname, day, month, year, postcode, status, entered FROM gigdata";
$result = mysqli_query($conn, $sql);
//Create an empty array
$gigarray = array();
//Check data exists, if YES store in array
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
foreach ($row as $r) {
array_push($gigarray, $r);
}
}
} else {
echo "0 results";
}
//连接到数据库
$conn=newmysqli(localhost、$username、$password、$database);
//检查连接
如果($conn->connect\u错误){
die(“未能连接到MySQL:”.$conn->connect\u错误);
}
echo“连接到数据库””;
//从数据库中选择数据
$sql=“选择id、客户名称、日期、月份、年份、邮政编码、状态,从gigdata输入”;
$result=mysqli\u查询($conn,$sql);
//创建一个空数组
$gigarray=array();
//检查数据是否存在,如果是,则存储在数组中
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u assoc($result)){
foreach($r行){
阵列推送($gigarray,$r);
}
}
}否则{
回显“0结果”;
}
然后,我将JSON字符串回显到Javascript中,效果很好:
var gigdata = <?php echo json_encode($gigarray) ?>;
var gigdata=;
问题:
我的目标是调整原始PHP,使JSON最终格式化为:
- 每个数据库行都是一个新的数组元素
- 每个数据库列名都是每个JSON名称/值对中的名称
- 每个数据库字段都是每个JSON名称/值对中的值
希望这是有意义的,并提前表示感谢。实际上有一个非常有用的mysqli函数,用于从结果中获取所有数据,这正是您想要的- 尝试:
你的意思是每一行都是一个新数组还是一个新数组元素?谢谢Simon,我的意思是“数组元素”。更正,完美!非常感谢!
json_encode(mysqli_fetch_all($result, MYSQLI_ASSOC));