2010-05-14 26 views
1

您是否可以從數據庫中讀出一個PHP常量的名稱並在php變量中使用它,以顯示在菜單中使用的常量的值?如何使用從數據庫中獲取的PHP常量

例如這裏就是我試圖完成

在SQL:select menu_name AS php_CONSTANT where menu_id=1返回將L_HOME這是一個PHP配置頁面中的常量的名稱值。 PHP配置頁面看起來像這樣define('L_HOME','Home');並且在數據庫調用之前被加載。 這個php的用法是$db_returned_constant,其值爲L_HOME,它來自數據庫調用,然後我將它放入一個字符串,如$string = '<ul><li>' . $db_returned_constant . '</li></ul>',因此返回一個字符串,看起來像$string = '<ul><li><a href="#" onclick="path_from_db">Home</a></li></ul>'

要總結一下我試圖根據語言偏好

  • 查詢數據庫返回菜單名稱,它是在一個恆定的名稱做

    1. 加載配置文件配置文件在第一步加載,並且還檢索在「onclick」事件中使用的menu_link。
    2. 使用php變量來保存CONSTANT的名稱
    3. 將該變量放入一個字符串中,該字符串會被echo'd輸出以創建顯示CONSTANT值的菜單。

    我希望這樣做有足夠的意義......是否有可能使用這樣的常量?

    謝謝。

  • +0

    這可能是因爲它已經晚了,但我完全不明白這一點,對不起:)如果你想在查詢中注入常量,你可以使用''SELECT menu_name AS「.constant(」php_CONSTANT 「)。」哪裏.....「'......不知道這是否完全回答你的問題。 – 2010-05-14 18:44:50

    +0

    我也有一個問題的理解。 你能縮小你遇到問題的具體部分嗎? – arnorhs 2010-05-14 18:53:54

    回答

    2
    define('L_HOME','Home'); 
    $db_returned_constant = 'L_HOME'; // value actually retrieved from db 
    echo constant($db_returned_constant); 
    
    // will output 'Home' 
    
    +0

    這工作完美謝謝! – Ronedog 2010-05-14 19:28:00

    2

    當然,只要檢索一個常量的名稱到一個字符串中,然後使用constant

    +0

    謝謝你的幫助! – Ronedog 2010-05-14 19:28:47

    相關問題