【发布时间】:2020-02-03 14:50:57
【问题描述】:
我尝试制作一个显示响应式更新表格的应用。它由两部分组成: 1.输入和保存用户数据的表格(有效)。 2. 表,每次用户添加新行时都会从 MySQL 中重新更新数据。
我的应用程序的简化版:
library(shiny)
library(shinyWidgets)
con <- dbConnect(RMySQL::MySQL(), dbname = "test", username = "root", password = "123456", host = "127.0.0.1", port = 3306)
ui <- fluidPage(
textInput("name", "name"),
numericInput("age", "age", value = 1),
actionButton("ok", "ok"),
titlePanel(h2("My burnmarks")),
br(),
DT::dataTableOutput("table")
)
server <- function(input, output, session) {
observeEvent(input$ok, {
query <- paste("INSERT INTO test (name, age) VALUES ('",
input$name , "', '",input$age, "');", sep = "")
dbExecute(con, query)
})
sqlOutput <- reactive({
sqlInput <- "SELECT * from test"
dbGetQuery(con, sqlInput)
})
output$table <- DT::renderDataTable(sqlOutput(),
server = TRUE, rownames = FALSE,
options = list(
pageLength = 10,
scrollX = TRUE,
fixedColumns = TRUE),
extensions = 'Responsive'
)
}
shinyApp(ui, server)
【问题讨论】:
-
谢谢!我已经看到了这个链接。它有助于我更好地理解 ractive 函数,但我的代码仍然无法正常工作。