【问题标题】:How get data from Mnesia and print by Yaws如何从 Mnesia 获取数据并通过 Yaws 打印
【发布时间】:2014-07-02 15:36:13
【问题描述】:

请帮助查找有关构建 Erlang 应用程序的信息,哪些可以打印来自 Yaws 的 Mnesia 的各种信息

最好的问候,非常感谢您的帮助。

【问题讨论】:

    标签: erlang mnesia yaws


    【解决方案1】:

    现在我用这段代码解决了:

    Mnesia 查询:

    lookup_artists() ->
        Fun = fun() ->
        %       mnesia:read({sensors,Id})
                Query = #artists{ artist_id = '$1', artist = '$2', _ = '_'},
                mnesia:select(artists, [{Query, [], ['$$']}])
        end,
        mnesia:transaction(Fun).
    

    还有 YAWS 文件:

    <html>
    <h1>Test query</h1>
    <erl>
    out(A) ->
    AddTd = fun(Val) ->
    %        {td, [], integer_to_list(Val)}
    io:format("~n ~p:~p GET Request Response ~p ~n", [?MODULE, ?LINE, Val]),
    
    case is_integer(Val) of
        true  -> {td, [], integer_to_list(Val)};
        false -> {td, [], Val}
    end
            end,
    AddTr = fun(Val) ->
                    {tr, [], lists:map(AddTd, Val)}
            end,
    {atomic, Accounts} = wmb2:lookup_artists(),
    {ehtml, [{table, [],
             lists:append([[{tr, [], [{td, [], "ID"},
                                      {td, [], "Artist"}]}], 
                           lists:map(AddTr, Accounts)])},
            {p, [], {b, [], f("Total: ~w", [length(Accounts)])}}]}.
     </erl>
     <p><a href="index.yaws">Index</a></p>
     </html>
    

    不知道...代码好不好,但工作正常 :)

    【讨论】:

      【解决方案2】:

      Yaws 是一个网络服务器,Mnesia 是一个 DBMS。现在,您基本上需要先学习 Erlang,然后,学习如何从 mnesia 数据库中读取、写入、更新和删除。 Yaws 和 mnesia 可以在同一个 erlang VM 中运行,毕竟,mnesia 打包在每个标准 erlang 版本中。

      当你安装 yaws 时,通常情况下,它会使用已安​​装的 Erlang VM 来运行,并且在同一个实例中,你可以启动 mnesia 并做你想做的事。你的问题相当广泛/模糊,但是,我想我只会送你去一本 erlang 书。

      【讨论】:

      • 现在我解决了我的问题。上一个答案中的解决方案。
      猜你喜欢
      • 2014-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      相关资源
      最近更新 更多