MYSQL データベースから多数のフィールドを取得し、データを HTML テーブルに挿入する groovy スクリプトがあります。これに加えて、データベースに取得されたlastModified()
ファイルの日付を見つけます。
「lastModified()によるファイルの並べ替え」というかなり似たトピックを見つけましたが、私の問題は、実際にデータをマップまたはリストに取得することはなく、代わりにxmlを構築しsql.eachRow(query)
、適切なフィールドをテーブルをlastModified()
開き、xml 自体で日付を見つけます。
lastModified()
Groovy スクリプトから日付を取得する必要があるため、クエリで並べ替えを実行できません。2 つの質問があります。投稿したコードの設定を使用して、最終更新日でソートすることは可能ですか? もしそうなら、HTMLテーブルで正しくソートされるように、実際にソートを実行する必要があるのはどこですか? 私は Groovy と Java に非常に慣れておらず、この種のことを理解しようとするのはひどいので、この情報をどこで見つけたかについてのヒントは素晴らしいでしょう.
同様のトピックですが、私が探しているものとはまったく異なります:
- MySQL から呼び出された HTML テーブルの行をソートする方法<-- 実際にこれを見てみると、php にあります
- http://groovy.329449.n5.nabble.com/Sorting-files-by-lastModified-td362691.html <--これはテーブルをソートしようとしています
- http://www.kryogenix.org/code/browser/sorttable/#totalsrows <--これは素晴らしいことですが、groovy では可能ですか?
私のコード、いくつか変更する必要がありました:
sql = Sql.newInstance("location of database", "username", "password", "driver")
writer = new StringWriter()
def xml = new MarkupBuilder(writer)
rptDate = new java.util.Date()
query =
"""
query stuff
"""
xml.html(){
xml.head(){
xml.title("Title")
xml.body(){
xml.h1("Title")
xml.table(border:1, cellpadding:5){
xml.tr(){
xml.th("ID")
xml.th("Date Added")
xml.th("Hospital Name")
xml.th("Total Daily Clients")
xml.th("Total Daily Pets")
xml.th("Last Upload Date")//lastModified() date
}//end headings
//insert data from query into each row of the table
sql.eachRow(query)
{row ->
xml.tr(align:'center'){
xml.td("${row.ID}")
xml.td("${row.DateAdded}")
xml.td("${row.HospitalName}")
xml.td("${row.TotalDailyClients}")
xml.td("${row.TotalDailyPets}")
//find lastModified() dates for incoming files and format them
mod = new File("/home/me/folderforfiles/${row.ID}.zip").lastModified()
fd = new Date(mod).format("EEE MMM dd hh:mm:ss a yyyy")
//insert into table
xml.td(fd)
}//end table data
}//end loop
}//end table
}//end body
}//end title
}//end html
println writer.toString()