- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Code Igniter Controller ,它读取上传的记录文件(excel、csv、tsv、xml 等)并将每一行作为记录写入数据库。作为文件中第一列的记录 ID 应该是唯一的。如果它已经存在于数据库中,那么在读取文件时我应该发出警报,并且根据用户的响应我将覆盖或跳过该记录并继续处理其他记录。
但是一旦我抛出警报并到达 View ,我就失去了对 Controller 的控制并且我不知道让文件指针保持滴答作响以便在收到用户的响应后我可以继续读取。
是否有解决此问题的方法,或者我们是否有其他替代方法?
最佳答案
假设我有一个这样的文件:
Roll, Name, Age, Subject
1, Praveen, 25, Cloud Computing
2, Sri Ram, 25, Cloud Computing
3, Dhiwa, 23, Computer Science
4, Vennila, 25, Cloud Computing
5, Arun, 22, Computer Science
作为 CSV 文件,我会使用 PHP 的内置函数读取它 str_getcsv
以这种方式读取文件:
$csv = array_map('str_getcsv', file('data.csv'));
我会通过解析数组的第一个值来获取记录的 Roll 的集合,它是唯一条目的集合,这样我会得到如下内容:
Array (
1,
2,
3,
4,
5
)
最后我假设数据库已经具有类似的结构,例如:
+--------+------+-----+---------+
| UserId | Name | Age | Subject |
+--------+------+-----+---------+
因此,现在我将使用 SQL 的 GROUP_CONCAT
函数将所有 UserId
组合在一起并按如下方式获取:
$UserIdsFromDB = get_first_row_value("SELECT GROUP_CONCAT(`UserId`) FROM `Users`");
我会把它作为一个数组来解析,并以这种方式在 $UserIdsFromDB
中得到结果:
Array (
5,
17,
22,
23,
55,
56
57
)
我可以轻松使用 PHP 的内置函数 array_intersect
找到那些重复的值,这给了我:
Array (
5
)
使用简单的 AJAX 调用,我会询问是否需要替换 5
用户或所有用户,这样:
get_user_name(5) // Gets the name of the user with ID 5.
count($Array_Intersect_Result) // Gets the number of matching users.
我希望这能让您有所了解。让我知道进展如何。
关于javascript - 如何在 View 之间来回维护代码点火器php中的文件读取指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884396/
我正在编写两个程序,一个用 C++ 编写,另一个用 Python 编写,以使用 unix 域套接字相互通信。我想做的是让 C++ 代码向 Python 代码发送一个数字,Python 代码又将另一个数
我希望有一个生成器函数,它返回一条线上的点,给定一个最小距离 k。这很简单,可以使用 numpy 完成,如下所示: points = np.linspace(start, end, k) 但是,我想生
根据我的理解,我们一直在用 Git 做一个非常标准的分支模型的项目,描述如下:http://nvie.com/posts/a-successful-git-branching-model/ 我们从“m
我有一张图片,我想单击它以动画形式旋转 90 度,当它再次单击时我希望它以动画形式旋转 -90 度。 对于使用 css3 变换的旋转 im: -moz-transform:rotate(90deg);
我正在尝试将 拖放 Logo 到 2 个 SVG 圆圈 中。在我的代码的帮助下,图像被拖到一个圆圈中,但没有被拖到另一个圆圈中。 如何修改code这样图像可以在两个圆圈之间拖/放? function
我正在使用 python 3.5.2、pandas 0.18.1 和 sqlite3。 在我的数据库中,我有一个列 unix_time 和 INT 自 1970 年以来的秒数。理想情况下我想从 sql
我已经在我的服务器上安装了 SSL。我的问题是如何通过 acegi 插件在选定的 Controller /页面上强制使用 https。 Acegi 插件支持一个属性 forcehttps,当设置为 t
这是我第一次发布查询。我需要帮助。感谢您的帮助。 我同意我已经把我的概率作为一个长篇故事。但很抱歉,我不知道如何缩短它,我的目的是提供有关我的问题的完整信息。 问题:我必须在 Windows 平台上使
我是一名优秀的程序员,十分优秀!