【发布时间】:2014-07-02 15:36:13
【问题描述】:
请帮助查找有关构建 Erlang 应用程序的信息,哪些可以打印来自 Yaws 的 Mnesia 的各种信息
最好的问候,非常感谢您的帮助。
【问题讨论】:
请帮助查找有关构建 Erlang 应用程序的信息,哪些可以打印来自 Yaws 的 Mnesia 的各种信息
最好的问候,非常感谢您的帮助。
【问题讨论】:
现在我用这段代码解决了:
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>
不知道...代码好不好,但工作正常 :)
【讨论】:
Yaws 是一个网络服务器,Mnesia 是一个 DBMS。现在,您基本上需要先学习 Erlang,然后,学习如何从 mnesia 数据库中读取、写入、更新和删除。 Yaws 和 mnesia 可以在同一个 erlang VM 中运行,毕竟,mnesia 打包在每个标准 erlang 版本中。
当你安装 yaws 时,通常情况下,它会使用已安装的 Erlang VM 来运行,并且在同一个实例中,你可以启动 mnesia 并做你想做的事。你的问题相当广泛/模糊,但是,我想我只会送你去一本 erlang 书。
【讨论】: