phpMyAdmin将CSV文件导入数据库+PHP数组转JS数组

本文详细介绍了如何将CSV文件导入数据库,使用PHP查询数据并将其转化为JS数组,以便在前端展示。通过phpMyAdmin导入CSV到数据库,使用SQL查询数据并存储为PHP数组,然后借助json_encode()函数转换为JSON格式,再在JS中用decodeURIComponent()解码生成JS数组。整个过程展示了PHP和JS在数据处理上的协同工作。
摘要由CSDN通过智能技术生成


一、背景

开发中,经常将csv文件中的数据导入数据库,这样就可以在使用部分数据时利用php语言读取数据,存入php数组,最后把这些数值赋给JS,在前端界面使用,比如形成图表。
以下记录这一过程,重点是将简单的php数值索引一维数组转化为JS数组。

二、步骤

1.CSV文件导入数据库

打开phpMyAdmin,选择一个数据库,点击上方导入,选取需要导入的.csv文件,
在这里插入图片描述
将格式选择为csv,根据数据集情况选择是否勾选“文件首行包含数据表的字段名 (若未选此项,首行将被认为是数据)”,勾选“忽略插入错误",其他选项默认即可。
在这里插入图片描述
选好之后点击执行即可。如需给表改名,打开数据表,点击上方操作即可。

2.SQL语言查询数据

查询本表最后一列数据,存放在PHP数组中。

<?php

	header("content-type:text/html;charset=utf-8"); 
	
	$mysql_server='localhost';
    $mysql_username='root';
	$mysql_password='root';

	//连接数据库
	$conn=@mysqli_connect($mysql_server,$mysql_username,$mysql_password) or die("Could not connect to MySQL server");//@屏蔽错误,否则有错的话会把语句显示出来,不安全    
	@mysqli_select_db($conn, "nut") or die("Could not select database");
    $query1="SELECT attack_aggregate FROM nonSpoof_data_extracted";//表中选取一列
	$result1=mysqli_query($conn,$query1);//查询列
	
	if (!$result1) {
        printf("Error: %s\n", mysqli_error($conn));//SQL语句出错报错
	}
	
	$attack_aggregate=array();
	while($row=mysqli_fetch_array($result1))//结果集中选取一行,返回生成的数组
	{
	 $attack_aggregate[]=$row['attack_aggregate'];
	}
	//print_r($attack_aggregate);//输出数组
	
?>

数组输出如下:
在这里插入图片描述

三、PHP数组转JS数组

1.json_encode()

php中的json_encode() 函数对变量进行JSON编码,
语法: json_encode ( $ value [, $ options = 0 ] )
此处$value为要编码的php数组,需注意该函数只对UTF8编码的数据有效。
返回值:执行成功返回json数据(其实是一个string),失败返回false。

示例:

<?php
$book = array('1'=>'a','b'=>'2','c'=>'3','4'=>'d');
$json = json_encode($book);

echo $json;
echo "<br>";
echo $json[0];
?>

结果如下:

{"1":"a","b":"2","c":"3","4":"d"}
{

在这里插入图片描述

2.decodeURIComponent()

使用 decodeURIComponent() 函数可以在JS中对编码后的 URI 进行解码。
语法:decodeURIComponent(uri)
参数:uri:必需,是一个含有编码 URI 组件或其他要解码的文本的字符串。
返回值:解码后的内容。

3.应用

SQL语言查询数据取PHP数组数据生成JS数组,并alert数组第一个单元的值。

<html>
<body>
	<title>JavaScript</title>
	
	<script language="JavaScript">
    	// 将php数组转化为json格式数据
    	var str = '<?php echo json_encode($attack_aggregate); ?>';
   	    // 转换为js数组
    	var attack_aggregate = eval(decodeURIComponent(str));
		alert(attack_aggregate[0]);//print 0.11
	</script>
</body>

界面如下:
在这里插入图片描述

总结

路漫漫其修远兮,吾将上下而求索。:)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值