У меня есть строгий скрипт, который вытягивает несколько полей из базы данных MYSQL и вставляет данные в таблицу HTML, вместе с этим я нахожу дату файлов lastModified()
вставляются в базу данных.Использование Groovy для сортировки HTML-таблицы по датам lastModified()
Я нашел довольно похожую тему: «Сортировка файлов по lastModified()», однако моя проблема в том, что я никогда не получаю данные в карте или списке, вместо этого я создаю xml и вызываю запрос, используя sql.eachRow(query)
, чтобы вставить соответствующие поля в таблицу, а затем найдите дату lastModified()
внутри самого xml.
Я не могу выполнить сортировку в своем запросе, потому что мне нужно получить дату lastModified()
из оригинального скрипта. Поэтому у меня есть два вопроса: возможно ли сделать сортировку по последней измененной дате, используя настройку в моем коде, который я опубликовал? И если да, то где мне нужно будет выполнять сортировку так, чтобы она правильно сортировалась в таблице HTML? Я должен сказать, что я очень новичок в Groovy и Java, и ужасно, когда дело доходит до того, что вы пытаетесь разобраться в таких вещах, поэтому любые намеки на то, где вы нашли эту информацию, были бы замечательными.
Похожие темы, но те, которые не совсем то, что я ищу:
- How to sort rows of HTML table that are called from MySQL < - действительно, глядя на это, но это в PHP
- http://groovy.329449.n5.nabble.com/Sorting-files-by-lastModified-td362691.html < --this но при попытке отсортировать стол
- http://www.kryogenix.org/code/browser/sorttable/#totalsrows < - это было бы хорошо, но возможно ли это в отличном состоянии?
Мой код, я должен был изменить некоторые вещи:
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()
Большое спасибо, я боялся, что мне нужно будет сделать что-то подобное, просто для ясности мне нужно также добавить мод в список? Я прошу, потому что я использую mod, чтобы получить lastModified time и fd, чтобы преобразовать эти времена в правильный формат даты и времени, который я действительно хочу отображать. Извините, я не могу проголосовать за это. По-видимому, у меня недостаточно репутации. – ThisIsImpossible
Потому что вы хотите отсортировать по моду, но затем отобразить fd, поэтому вам нужен мод в списке, если карты. Вы могли бы избежать приклеивания fd там, и просто сделать преобразование в строку в цикле на основе row.fd –
Ah получил его, поэтому способ форматирования даты не сортируется. – ThisIsImpossible