我们有一个脚本,由我们的开发人员为php提供,从我们的数据库生成最畅销的列表,但我们需要它在coldfusion!
有一种简单的转换方式,还是需要完全重写?
提前感谢任何建议:-)
// // ---------- // Get Top Selling Products (by sku) // ---------- //
function CWgetBestSelling($max_products=5, $sub_ids=0)
{
$productQuery = '';
$returnQuery = '';
$idList = '0';
$itemsToAdd = '';
if (!is_numeric($idList[0])) {
$idList = '0';
}
$q_productQuery = mysql_query( "
SELECT count(*) as prod_counter,
p.product_id,
p.product_name,
p.product_preview_description,
p.product_date_modified
FROM cw_products p
INNER JOIN cw_order_skus o
INNER JOIN cw_skus s
WHERE o.ordersku_sku = s.sku_id
AND s.sku_product_id = p.product_id
AND NOT p.product_on_web = 0
AND NOT p.product_archive = 1 …Run Code Online (Sandbox Code Playgroud) 我被要求建立一个"你是不是超过21岁?" 在酿酒厂的网站上弹出.我通常用PHP编写代码,团队很难获得他们网站的登录凭据.我想,当我等待时,我会在我的网站上编码,当他们让我访问时,我可以把它放到新网站上(你可以看到我的网站上的弹出窗口是什么样的).幸运的是当他们让我访问该网站时,它是使用ColdFusion构建的,我不知道如何使用.我已经做了一些关于如何使用CF的初步研究,但是我不愿意为这个项目学习一种全新的语言.我已经在下面包含了我的代码,是否有人能够1)向我展示如何在CF环境中实现PHP代码或2)帮助我将下面的代码转换为CF. 谢谢你的帮助!
此代码只是查看URL中的'over21'变量是否设置为1,或者前一个会话是否设置了'over21'变量.如果"重定向"设置为1,则会发送到google.com.
<?php if($_GET['redirect'] == 1){
header("Location: http://google.com");
}?>
<?php
session_start();
if(!isset($_SESSION['over21']) || (isset($_GET['over21']))){
if($_GET['over21']==1){
$_SESSION['over21'] = 1;
} elseif($_GET['over21']!=1){
$_SESSION['over21']=0;
} else {
$_SESSION['over21']=0;
}
} elseif($_GET['over21']){
$_SESSION['over21'] = $_GET['over21'];
}
?>
Run Code Online (Sandbox Code Playgroud)
<?php if(!isset($_SESSION['over21']) || ($_SESSION['over21']==0)){?>
<div class="splash">
<div class="splash-bg">
<form method="get">
<button class="yes-button" type="submit" name="over21" value="1" />
<button class="no-button" type="submit" name="redirect" value="1" onclick="alert('Please come back and visit us when you are 21.')" />
</form>
</div>
</div>
<?php } ?>
Run Code Online (Sandbox Code Playgroud) 由于"ColdFusion不支持通过INNER JOIN或OUTER JOIN子句进行连接",我如何能够将这两个查询组合在一起,他们在哪里提供过去2个月的数据?
select starburst_dept_name, starburst_dept_average,MONTHLY_PAST_DATE
from cse_reports_month
where starburst_dept_name is not NULL
and YEAR(MONTHLY_PAST_DATE) = YEAR(GETDATE())
and MONTH(MONTHLY_PAST_DATE) = MONTH(GETDATE())-1
select starburst_dept_name, starburst_dept_average,MONTHLY_PAST_DATE
from cse_reports_month
where starburst_dept_name is not NULL
and YEAR(MONTHLY_PAST_DATE) = YEAR(GETDATE())
and MONTH(MONTHLY_PAST_DATE) = MONTH(GETDATE())-2
Run Code Online (Sandbox Code Playgroud)
我想要一个查询来组合这两个我将如何这样做,以便它可以在ColdFusion中工作?我想要的是比较上个月的starburst_dept_average> starburst_dept_average最近2个月前?
我有一个内置于CF 9的应用程序.由于这是很久以前开发的,我现在正尝试实现一些安全功能.我只知道使用cfqueryparam来保护我已经在应用程序代码中实现的sql注入.但是我还能用什么来使我的应用程序更安全?我正在使用ColdFusion 9和Oracle数据库.
有人可以提供任何建议吗?
如果我使用coldfusion的getTempDirectory()作为生成文件的路径,浏览器有没有办法访问它?或者,如果没有,我可以将临时路径配置为某个文件夹吗?
错误:无法将对象类型[DateTime]强制转换为[Array]类型的值
<cfset Seniority=ArrayNew(1)>
<CFLOOP QUERY="all_employees">
<cfif isNull(all_employee.TimeInPositionDate) >
<cfset ArrayAppend(Seniority,all_employee.hiredate)>
<cfelse>
<cfset ArrayAppend(Seniority,all_employee.TimeInPositionDate)>
</cfif>
</CFLOOP>
Run Code Online (Sandbox Code Playgroud) 我试图将记录从Coldfusion插入Oracle DB 11(g),但错误日志显示ORA-00911:无效字符。我可以从Oracle DB中选择记录,但无法插入。
下面是我的代码。
<cfquery name="qOracleData" datasource="Oracle_Test">
Insert into postindept (deptid, propos_position, descr, sm_descr60, grade) values ('1','110000 ', '110000 ','510000 ' ,'10');
COMMIT;
</cfquery>
Run Code Online (Sandbox Code Playgroud) Now()ColdFusion中的函数是否区分大小写?我可以用now()而不是Now()吗?
coldfusion ×10
php ×3
coldfusion-8 ×2
sql ×2
coldfusion-9 ×1
oracle ×1
scope ×1
security ×1
sql-insert ×1
sql-server ×1
temp ×1
variables ×1