以下函数将新项目列表与旧项目列表进行比较,并找出差异:
我写了两个循环来实现这一点,他们产生了以下输出:
oldItems ="an,old,list"--->要删除的项目:'an,old'
newItems ="a,new,list"--->要创建的项目:'new'
第一个问题a应该出现在要创建的项目中,但是我相信因为它是一个an不能被拾取的子串.
第二个问题(?)是我做两个循环似乎效率低下.代码可以重构吗?
public function testList() hint="Compares two lists to find the differences."
{
local.oldItems = "a, new, list";
local.newItems = "an, old, list";
local.toDelete = "";
local.toCreate = "";
// Loop over newItems to find items that do not exist in oldItems
for (local.i = 1; local.i LTE ListLen(local.newItems, ", "); local.i++)
{
if (! ListContains(local.oldItems, ListGetAt(local.newItems, local.i, ", ")))
{
local.toCreate = ListAppend(local.toCreate, ListGetAt(local.newItems, local.i, ", ")); …Run Code Online (Sandbox Code Playgroud) 我需要在我的SQL查询中添加if条件.我想出了这个解决方案,但它不起作用,我不知道为什么.
local.platformId = arguments.platformId ? "AND platforms.id = #arguments.platformId#" : "";
local.pages = new Query(dataSource=variables.wheels.class.connection.datasource);
local.pages.setSQL
("
SELECT COUNT(games.id) AS totalRecords
FROM games
INNER JOIN platforms ON games.platformId = platforms.id
WHERE 0=0
:platform
");
local.pages.addParam(name="platform", cfsqltype="CF_SQL_VARCHAR", value=local.platformId);
local.pages = local.pages.execute().getResult();
Run Code Online (Sandbox Code Playgroud)
我得到一个错误: You have an error in your SQL syntax; check ... near ''AND platforms.id = 1' ''' at line 6
任何想法如何解决这个限制仍然确保SQL注入的安全性?
我很好奇,有没有另一种方法可以在Coldfusion中将结构转换为数组而不会在其上进行循环?我知道如果我们使用for in循环可以这样做:
local.array = [];
for (local.value in local.struct)
{
arrayAppend(local.array, local.value);
}
Run Code Online (Sandbox Code Playgroud) 我有这个脚本运行得很好,但它会一直触发"错误"回调,即使没有错误:
$(".comment-form").submit(function(e) {
e.preventDefault();
var $form = $(this),
text = $form.find('textarea').val();
url = $form.attr('action');
$.post(url, { comment: text,
beforeSend: function() {
alert("before send");
},
error: function() {
alert("error");
},
success: function(data) {
alert(data);
}
});
});
Run Code Online (Sandbox Code Playgroud)
我在这里错误地使用了回调吗?只有在出现ajax错误时,错误回调才会触发吗?
我的意图是对请求作出反应.如果有错误,我想做点什么.如果它成功了,我想做别的事等等......
我有以下蒙戈文档:
{
_id: 'someid',
name: 'John Doe',
address: {
city: 'Osaka',
country: 'Japan'
}
}
Run Code Online (Sandbox Code Playgroud)
如何按城市和国家建立索引?
问题就是这一切.Inter Explorer缺乏标准的合规性,并且让我陷入了疯狂的边缘.有没有人知道IE8的Firebug等价物?
如果使用空白字段提交表单,为什么以下代码不输出"错误"?Len只评估数值吗?
<cfif NOT Len(Trim("Form.myField"))>
<cfoutput>Error</cfoutput>
</cfif>
Run Code Online (Sandbox Code Playgroud)
以下内容也未按预期进行评估:
<cfif Len(Trim("Form.myField")) IS 0>
<cfoutput>Error</cfoutput>
</cfif>
Run Code Online (Sandbox Code Playgroud)
HTML:
<input type="text" name="myField" value="">
Run Code Online (Sandbox Code Playgroud) 假设您创建了一个博客应用程序,它的数据存储在MySQL数据库中.在应用程序配置中,将数据源名称设置为myBlog用户root密码whatever
现在,当用户开始使用您的博客访问,发布和评论线程等...我假设他们root通过应用程序连接myblog...
所以...用户连接到应用程序myBlog,而应用程序又以用户身份连接到MySQL root,使用密码whatever---它不是真正连接到MySQL的用户,而是应用程序.正确?
这种方法没有安全问题吗?我应该在MySQL中为myBlog具有特定权限的应用程序创建一个新的用户名,并root仅留下来管理数据库吗?
我正在尝试在我正在使用的框架中生成一个动态属性,但我遇到了一些困难..我有两个表加入了多对多关系(平台、标题和游戏)游戏有两个主键, titleid 和 platformid
select * from games where CONCAT(platformid,titleid) = 110
Run Code Online (Sandbox Code Playgroud)
110只是一个例子,但是记录确实存在,平台为1,titleid为10...
为什么不行?
PS:我知道我可以用 where 子句(platformid = 1 AND title = 10)重写查询,但就我的框架而言,这不是一个选项......
编辑:修正了流派错误(应该是titleid,但在我的实际代码中这是正确的......)
编辑 2:这是一个场景:
select * where="platforms.id=#game.platformId# AND genres.id=#game.genreId# AND games.id<>#game.id#"
Run Code Online (Sandbox Code Playgroud)
这是我想查找当前选定记录以外的记录时的一种情况...
假设我有<ul class="myList verticalList">怎样才能使用jquery 更改verticalList的值?