通过AJAX请求重新绘制基于用户input的谷歌图表

我有一个谷歌图表从我的数据库中提取数据,按照我的要求工作。 根据URL中的获取请求,它从选定的表中绘制数据。 我希望通过基于选定表格的下拉菜单中的ajax进行图表更新。 我无法突破的部分是通过ajax获得数据响应。 我认为下面的代码是接近的,但我得到了我似乎无法摆脱的下面的错误。 getdata.php:22 Uncaught ReferenceError:$ is not defineddrawvisualization @ getdata.php:22onchange @ getdata.php:47 我试图从getdata.php中删除GET请求,并认为这是$未定义的硬编码表,但是这并没有解决错误。 工作图代码 <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title> Wind Graph </title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript"> google.load('visualization', '1', {packages: ['corechart']}); </script> <script type="text/javascript"> function drawVisualization() { var data = new google.visualization.DataTable(); <?php require("dbconnect.php"); echo " data.addColumn('string', 'Time');"; echo […]

准备在PHP 7.2中删除Mcrypt

所以随着时间的推移,mcrypt将在PHP 7.2中。 当然还有一个select:openssl。 我发现很难从mcrypt切换到openssl,使用AES 256 CBC和保留IV。 我对密码学有点新鲜,所以我并不是很了解所有的东西,但我理解这些基础知识。 假设我有以下代码 function encrypt($masterPassword, $data) { $keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($ivSize, MCRYPT_DEV_URANDOM); $key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize); $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv); return base64_encode($iv . $encrypted); } function decrypt($masterPassword, $base64) { $keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $key […]

用bash设置一个参数

我经常运行一个简单的bash命令: rpm -Uvh –define "_transaction_color 3" myPackage.rpm 哪个工作正常。 但是现在我试图把它编写成一个bash文件,并且使它更加灵活: #!/bin/bash INSTALL_CMD=rpm INSTALL_OPT="-Uvh –define '_transaction_color 3'" ${INSTALL_CMD} ${INSTALL_OPT} myPackage.rpm 但是,这不断产生错误: error: Macro % has illegal name (%define) 错误来自于如何处理–define和引用的_transaction_color 。 我已经尝试了各种各样的转义,不同的措辞,甚至使INSTALL_OPT数组,处理${INSTALL_OPT[@]} 。 到目前为止,我的尝试没有奏效。 显然,我想要的是非常简单的。 我只是不知道如何完成它。 我怎样才能让bash正确处理我的–define参数?

具有多个可执行文件的Makefile

我正在尝试编写一个使用macros从一个多个文件创build多个可执行文件的makefile。 我试着通过以前回答的问题寻找,但是,因为我对C编程和gcc工作相当新,我无法find我的问题的答案。 这是我到目前为止: CC=gcc CFLAGS=-I. OBJ = ex1.c ex3.c EXECUTABLE = ex1 ex3 $(EXECUTABLE): $(OBJ) gcc -o $@ $^ $(CFLAGS) clean: rm -f $(EXECUTABLE) 我想要这条线 $(EXECUTABLE): $(OBJ) 分别从文件ex1.c ex3.c创build可执行文件ex1和ex3。

JavaScript – “this”的所有者

我跟着一个教程来创build一个JavaScript秒表,并试图扩展它与多个秒表(一个类的多个实例)的工作。 我的问题是,当我试图显示当前值,而时钟滴答作响我需要硬编码的类实例,因为使用“这个”不起作用(在我使用console.log)。 我已经把代码降到了最低限度,试图理解这个方面,并粘贴了下面的内容: function Timer(){ var time1 = null; var time2 = null; var timeLoop = null; function getTime(){ var day = new Date(); return day.getTime(); } this.start = function(){ time1 = getTime(); timeLoop = setInterval(function(){ time2 = getTime(); console.log(_Timer.duration()); //console.log(this.duration()); },500); } this.duration = function(){ return (time1 – time2) / 1000; } } 我认为下面的链接描述了我的问题,但我不明白这个在这里应用。 […]

pow函数的奇怪行为

运行以下代码行时: int i,a; for(i=0;i<=4;i++) { a=pow(10,i); printf("%d\t",a); } 我很惊讶地看到输出结果是1 10 99 1000 9999而不是1 10 100 1000 10000 。 可能的原因是什么? 注意 如果你认为这是一个浮点错误,在上面的for循环中,当i = 2 ,存储在variablesa的值是99 。 但是,如果你写,而不是 a=pow(10,2); 现在的价值出来是100 。 这怎么可能?

用JS读本地XML

目前,由于安全策略,Chromium无法通过ajax读取本地文件,而无需–allow-file-access-from-files 。 但是我现在需要创build一个Web应用程序,其中的数据库是一个xml文件(在极端的情况下,json),位于一个具有index.html的目录中。 据了解,用户可以在本地运行该应用程序。 有读取xml-(json-)文件的变通方法,没有包装在一个函数中,并改变为js扩展? loadXMLFile('./file.xml').then(xml => { // working with xml }); function loadXMLFile(filename) { return new Promise(function(resolve, reject) { if('ActiveXObject' in window) { // If is IE var xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); xmlDoc.async = false; xmlDoc.load(filename); resolve(xmlDoc.xml); } else { /* * how to read xml file if is not IE? * … […]

使用准备好的语句来设置表名

我试图使用准备语句来设置表名来select数据,但是当我执行查询时,我不断收到错误。 错误和示例代码显示在下面。 [Microsoft][ODBC Microsoft Access Driver] Parameter 'Pa_RaM000' specified where a table name is required. private String query1 = "SELECT plantID, edrman, plant, vaxnode FROM [?]"; //?=date public Execute(String reportDate){ try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn = DriverManager.getConnection(Display.DB_MERC); PreparedStatement st = conn.prepareStatement(query1); st.setString(1, reportDate); ResultSet rs = st.executeQuery(); 有什么想法可能造成这个?

如何使用UISearchDisplayController / UISearchBar过滤NSFetchedResultsController(CoreData)

我试图在我的基于CoreData的iPhone应用程序中实现search代码。 我不知道如何继续。 该应用程序已经有一个NSFetchedResultsController与谓词来检索主TableView的数据。 在更改太多的代码之前,我想确保自己走在正确的道路上。 我很困惑,因为这么多的例子是基于数组而不是CoreData。 这里有一些问题: 我是否需要第二个NSFetchedResultsController检索只匹配的项目,或者我可以使用相同的主要TableView? 如果我使用相同的,就像清除FRCcaching,然后改变handleSearchForTerm:searchString方法中的谓词一样简单? 谓词是否必须包含初始谓词和search词,还是记得它首先使用谓词来检索数据? 我如何回到原来的结果? 我只是设置search谓词为零? 这不会杀死最初用来检索FRC结果的谓词吗? 如果任何人有任何使用FRCsearch代码的例子,我将不胜感激!

有很大的数据库文件的sqlite的性能特点是什么?

我知道sqlite在超大型的数据库文件中performance不佳,即使它们被支持(曾经有一个关于sqlite网站的评论,指出如果你需要大于1GB的文件大小,你可能要考虑使用企业rdbms。再也找不到了,可能与旧版本的sqlite有关)。 但是,为了我的目的,我想先了解一下在考虑其他解决scheme之前它究竟有多糟糕。 我正在谈论2 GB以上的千兆字节范围内的sqlite数据文件。 任何人有任何这方面的经验? 任何提示/想法?