我试图将selectizeinput的多个值传递给mysql查询。
问题是,在闪亮的应用程序中,这种操作的正确语法是什么?
我所尝试的和正在使用的只有一个值
library(shiny)
library(DBI)
library(RMySQL)
server <- shinyServer(function(input, output, session) {
con <- dbConnect(MySQL(), user='user', port = 3306,
password='pwd', dbname='db', host='host' )
on.exit(dbDisconnect(con), add = TRUE)
output$textview <- renderUI({
con <- dbConnect(MySQL(), user='user', port = 3306, password='pwd',
dbname='db', host='host' )
on.exit(dbDisconnect(con), add = TRUE)
text <- reactive({
dbGetQuery(con, statement =
paste0(" SELECT author, title, publicationDate, FROM publications
WHERE publications.year LIKE %'",input$year,"'% ")
)
})
text <-text()
HTML(text)
})
session$onSessionEnded(function() { dbDisconnect(con) })
})
ui_panel <-
tabPanel("Multi-Select Input Test",
sidebarLayout(
sidebarPanel(
selectizeInput('year', 'Select Year of publication:', choices =
publications.year, multiple = TRUE options = list(maxOptions = 5)
),
br(),
submitButton("Update Text View"),
br()
),
mainPanel(
tabsetPanel(tabPanel("Text",htmlOutput("textview"))
)
)
))
ui <- shinyUI(navbarPage(" ",ui_panel))
runApp(list(ui=ui,server=server))
mysql命令中允许我从selectizeinput(input$year)传递多个值的正确语法是什么?我试着用在而不是像下面这样,但它没有工作
text <- reactive({
dbGetQuery(con, statement =
paste0(" SELECT author, title, publicationDate, FROM
publications WHERE publications.year IN %'",input$year,"'% ")
)
})
1条答案
按热度按时间fcwjkofz1#
您需要构造一个类似以下内容的sql:
这将产生:
一款极简闪亮的应用程序: