2
我在DB中有兩個用戶組。我想要查詢數據庫,以在Shiny應用程序中顯示checkboxGroup,並且只有一個組,具體取決於URL查詢參數。如何在Shiny中使用查詢參數
例如,對於一個網址查詢參數是這樣的:
http://127.0.0.1:4014/?groupId=1
理想情況下,我想拿到的groupId值,並用它來過濾用戶組:
res <- dbSendQuery(con, paste('SELECT user_id, user_name
FROM info i , enrolment e
WHERE i.user_id = e.fk_user_id
AND e.fk_group_id = ', groupId))
dataf <- dbFetch(res)
userlist <- as.list(setNames(dataf$user_id, dataf$user_name))
然後在Shiny中顯示該用戶列表的內容,如下所示:
ui <- fluidPage(column(3, checkboxGroupInput("users",
label = h3("User Names"),
choices = userlist)))
是否有可能將這樣的URL查詢參數(如我的示例中的groupId)傳遞給Shiny應用程序? (我的代碼工作正常,如果我硬編碼的groupId)
如果我理解正確,會話變量只能在服務器部分中使用,使用反應式表達式或觀察者。我想在顯示UI部分之前訪問groupId變量(我想根據groupId值顯示checkboxGroupInput值)。我試過這個:https://gist.github.com/juananpe/526d56f79e4606df4200沒有成功(在UI之前的sql查詢中,groupId總是採用默認值1) – Juanan
檢查我的編輯以查找一個可用的示例。 –
「..在服務器部分,我會把你的dbGetQuery放在觀察者或反應表達式中」。那就是訣竅。我錯誤地試圖在UI部分中使用dbGetQuery。謝謝! – Juanan