gpt4 book ai didi

ruby - 通过 ruby​​ 循环并列出来自 Tinytds 的 2 列数据库表,其中 column1 值作为标题,column2 值作为列表

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:00 26 4
gpt4 key购买 nike

我一直在尝试学习循环的基础知识并且我已经到达那里但是我正在努力让我的大脑满足以下要求,例如,我通过 tinytds 从数据库表中获取数据,这样键/值就被散列到一个数组中(? - 初学者,所以希望我的术语是正确的!):-

数据是这样的,来自数据库表的一个“列”的值重复多次,而第二个“列”的值是唯一的。

因此,与其简单地在 HTML 中为只有 2 列的输出创建一个表,其中 column1 一遍又一遍地显示相同的文本行(在下一个唯一字符串列表一遍又一遍之前),我想展示信息,以便来自 column1 的唯一字符串值是标题,然后 column2 的值列在下面。

在我看来,我认为我想要实现的是为每个唯一字符串遍历 column1,输出该值,同时运行一个内部循环以列出 column2 的所有值,其中 column1 是“string”,继续到 column1 的下一个唯一值,输出该值,然后再次遍历 column2 以列出 column1 为 'string2' 等的所有值。

希望这是有道理的,因为我正在努力了解如何用正确的术语进行解释。

谢谢。

例如,如果我的数据库表中的 2 列如下:-。

第 1 列
Q1
Q1
Q1
Q2
Q2
Q3
Q3
第三季度

第 2 栏
A1
A2
A3
A4
A5
A6
A7
A8

我如何循环(或最好的方式)以能够呈现输出,例如:-

第一季度
A1
A2
A3

Q2
A4
A5

第三季度
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>

等等

最佳答案

如果你想保持简单,就这样做,只给出逻辑,而不是添加你的 html 标签

a1 = [:Q1,:Q1,:Q1,:Q2,:Q2,:Q3,:Q3,:Q3] 
a2 = [:A1,:A2,:A3,:A4,:A5,:A6,:A7,:A8]

a3 = a1.zip a2
#=>[[:Q1, :A1], [:Q1, :A2], [:Q1, :A3], [:Q2, :A4], [:Q2, :A5], [:Q3, :A6], [:Q3, :A7], [:Q3, :A8]]

a3.each_with_index do |e, i|
puts "#{e[0] if e[0] != a3[i-1][0]} #{e[1]}"
end

=>
Q1 A1
A2
A3
Q2 A4
A5
Q3 A6
A7
A8

关于ruby - 通过 ruby​​ 循环并列出来自 Tinytds 的 2 列数据库表,其中 column1 值作为标题,column2 值作为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16664736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com