Я выполняю следующий запрос и QoQ. Не могли бы вы рассказать мне, как мне перейти к опции «Загрузить CSV»?, работающий с CSV
<!--- QoQ for FIRSTCONN --->
<cfquery datasource = "XX.XX.X.XX" name="master1">
SELECT STR_TO_DATE(date_format(Timedetail,'%m-%d-%Y'),'%m-%d-%Y') as FIRSTCONN
, COUNT(Timedetail) as FIRSTOccurances
, EVENTS
FROM MyDatabase
WHERE EVENTS = "FIRST"
GROUP BY FIRSTCONN ;
</cfquery>
<!--- Detail Query --->
<cfquery dbtype="query" name="detail1">
SELECT *
FROM master1
WHERE FIRSTCONN >= <cfqueryparam value="#form.startdate#" cfsqltype="cf_sql_varchar">
AND FIRSTCONN < <cfqueryparam value="#dateAdd('d', 1,form.enddate)#" cfsqltype="cf_sql_varchar">;
</cfquery>
<!--- QoQ for SECONDCONN --->
<cfquery datasource = "XX.XX.X.XX" name="master2">
SELECT STR_TO_DATE(date_format(Timedetail,'%m-%d-%Y'),'%m-%d-%Y') as SECONDCONN
, COUNT(Timedetail) as SECONDOccurances
, EVENTS
FROM MyDatabase
WHERE EVENTS = "SECOND"
GROUP BY SECONDCONN ;
</cfquery>
<cfquery dbtype="query" name="detail2">
SELECT *
FROM master2
WHERE SECONDCONN >= <cfqueryparam value="#form.startdate#" cfsqltype="cf_sql_varchar">
AND SECONDCONN < <cfqueryparam value="#dateAdd('d', 1,form.enddate)#" cfsqltype="cf_sql_varchar">;
</cfquery>
<cfchart format="flash" chartwidth="1000" chartheight="500" scalefrom="0" scaleto="50000" xAxisTitle="Dates" yaxistitle="Number of Connections">
<cfchartseries query="detail1" type="line" itemColumn="FIRSTCONN" valueColumn="FIRSTOccurances" >
<cfchartseries query="detail2" type="line" itemColumn="SECONDCONN" valueColumn="SECONDOccurances" >
</cfchartseries>
</cfchart>[/CODE]
The cfform code and cfscript code I'm using is as follows:
[CODE]<cfform format="flash" preloader ="false">
<cfformgroup type="horizontal">
<cfinput type="dateField" name="startdate" label="Start Date" width="100" value="#form.startdate#">
<cfinput type="dateField" name="enddate" label="End Date" width="100" value="#form.enddate#">
<cfinput name="submitApply" type="submit" value = "Apply">
<cfinput name="cancel" type="submit" value="Download CSV">
</cfformgroup>
<cfscript>
var tl ='';
var nl = (Chr(13) & Chr(10));
var fileContent = createObject("java","java.lang.StringBuffer").init();
var counter =1;
fileContent.append('FIRST');
fileContent.append(nl);
for(i=1;i<=detail1.recordCount;i=i+1){
tl = detail1.FIRST;
fileContent.append(tl);
fileContent.append(nl);
}
fileContent.append('SECOND');
fileContent.append(nl);
for(i=1;i<=detail2.recordCount;i=i+1){
tl = detail2.SECOND;
fileContent.append(tl);
fileContent.append(nl);
}
</cfscript>
<cfset absoluteFilePathAndName = " C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\">
<cfset realtiveFilePathAndName = " C:\ColdFusion8\runtime\servers\coldfusion\SERVER-INF\temp\wwwroot-tmp\">
<cffile action="write" file="#absoluteFilePathAndName#" output="#fileContent.toString()#"/>
<a href="#realtiveFilePathAndName#>Download</a>
Желаемая Выход:
Я приложил для выхода ниже. Пожалуйста, прикрепите его.
В принципе, если диапазон дат 21 июня - 21 июля. Выход должен быть таким, как показано на изображении. (Я просто пропустил THIRDCONN и т. Д. Для простоты моего кода).
Я попытался выполнить описанную выше проблему. Нужно ли писать файлContent.append() для каждого столбца? Пожалуйста, дайте мне знать, если я ошибаюсь.
P.S. Я новичок в CF и раньше этого не делал.
Благодаря
Так что вы хотите, чтобы генерировать данные в формате CSV из набора записей? Является ли все вышеупомянутый bumpf в основном очень длинным способом просить об этом? –
Да, я хочу создать CSV, когда пользователь нажимает кнопку Загрузить. – Tan
Нет, нет. «создание CSV-данных из набора записей» - вопрос переполнения стека; «как мне закончить писать мой код для этой конкретной работы» - это вымогательство бесплатной консультации. Вам нужно сделать свою работу. И чтобы выполнить свою работу, вам нужно разбить задачу на общие части. Первый фрагмент: вам нужно знать, как создавать CSV-данные из набора записей. Даже «этот конкретный набор записей», а общее решение для «recordset to CSV». Я предлагаю вам начать с googling «cfml query to csv». –