我一直在努力学习循环的基础知识,我已经到了那里,但我正在努力让我的大脑围绕以下要求,例如,我通过 tinytds 从数据库表中获取数据,例如关键/values 似乎被散列到一个数组中(?-这里是初学者,所以希望我的术语是正确的!):-
数据使得 db 表的一个“列”中的值重复多次,而第二个“列”的值是唯一的。
因此,与其简单地在 HTML 中为输出创建一个表,该表仅具有 2 列,其中 column1 一遍又一遍地显示同一行文本(在下一个唯一字符串列表一遍又一遍之前),我想呈现信息以便column1 中的唯一字符串值是标题,然后 column2 的值列在下面。
在我看来,我想我想要实现的是循环遍历每个唯一字符串的 column1,输出该值,同时运行一个内部循环来列出 column2 的所有值,其中 column1 是“字符串”,继续下一个column1 的唯一值,输出该值,然后再次遍历 column2 以列出 column1 为“string2”等的所有值。
希望这是有道理的,因为我正在努力知道如何用正确的术语进行解释。
谢谢。
例如,如果我的数据库表中的 2 列如下:-。
列1
Q1
Q1
Q1
Q2
Q2
Q3
Q3
Q3
列 2
A1
A2
A3
A4
A5
A6
A7
A8
我如何循环(或任何最好的)以能够呈现输出,例如:-
Q1
A1
A2
A3
Q2
A4
A5
Q3
A6
A7
A8
我可以编写 HTML 端来格式化输出,但我无法弄清楚 ruby 端。
对于一个循环,我从 tiny_tds 示例中选择了以下 ruby(这里的 html 只是为了测试现在的位置):-
<% narrative.each do |question| %>
<span><%=question.values[1] %></span>
<br/>
<% end %>
这使我可以列出插槽 2 的所有值(这是正确的术语吗?),我可以执行以下操作:-
<% narrative.each do |question| %>
<span><%=question.values[0] %></span><span><%=question.values[1] %></span>
<br/>
<% end %>
并排展示两者,但我想要做的是更像: -
<h1>Question1 goes here</h1>
<ul>
<li>Answer 1</li>
<li>Answer 2</li>
<li>Answer 3</li>
</ul>
<h1>Question2 goes here</h1>
<ul>
<li>Answer 4</li>
<li>Answer 5</li>
</ul>
等等