Ошибка в .getReactiveEnvironment () $ currentContext () при назначении строки ввода [duplicate]

Добавить AddType application/x-httpd-php .php в файл httpd.conf, если вы используете Apache 2.4

4
задан Anish 25 November 2014 в 09:22
поделиться

1 ответ

, как уже упоминалось ранее, вам нужно будет иметь ваши операторы if в реактивном выражении или observe. Ниже приведен рабочий пример примерного приложения. Здесь я использовал реактивное выражение, чтобы проверить, какую базу данных вы выбрали. вы можете использовать mydb () и поместить его в свой запрос, например (я думаю, что это должно работать):

con <- dbConnect(MySQL(),dbname=mydb(), user="root", host="127.0.0.1", password="root")
query <- function(...) dbGetQuery(con, ...) 

Пример примера ниже

library(shiny)
library(ggplot2)
library(RMySQL)

ui =fluidPage(
  titlePanel("Shiny App"),
    sidebarPanel(selectInput("site", 
                              label = "Choose a site for Analysis",
                              choices = c("abc", "def","ghi", "jkl"),selected = "abc")),
    mainPanel(textOutput("text"),textOutput("db_select"))
  )


server = (function(input, output) {

  mydb <- reactive({

    if(input$site == "abc")
      {
        test <- c("testdb_abc")
      }
    else if(input$site == "def")
      {
        test <- c("testdb_def")
      } 
  })

  output$text <- renderText({  
    paste("You have selected:",input$site)
  })  

  query_output <- reactive({
    con <- (dbConnect(MySQL(),dbname=mydb(), user="root", host="127.0.0.1", password="root"))
    query <- function(...) dbGetQuery(con, ...)   
  })

  output$db_select <- renderText({  
    paste("My Database is:",mydb())
  })  
})


runApp(list(ui = ui, server = server))
7
ответ дан Pork Chop 21 August 2018 в 05:26
поделиться
  • 1
    Спасибо, еще один вопрос, если я добавляю запрос типа test & lt; -query ('select * from testdb_abc'), как я могу получить тест из query_output () – Anish 25 November 2014 в 10:23
  • 2
    Весь вывод будет в query_output (), поэтому просто убедитесь, что вы помещаете этот вывод в какую-то таблицу или что-то в этом роде. например: output $ table & lt; - renderDataTable ({query_output ()}), а затем добавить этот вывод в ui.r следующим образом: dataTableOutput ("table & quot;") – Pork Chop 25 November 2014 в 10:28
  • 3
    Для получения дополнительной информации прочитайте эту книгу (бесплатно для загрузки) it-ebooks.info/book/3206 – Pork Chop 25 November 2014 в 10:31
Другие вопросы по тегам:

Похожие вопросы: