我正在查询我的数据库抓取其中的所有信息但是,我要做的是抓住所有连续“x”的条目并将它们分组,然后获取所有具有'y'的条目'连续并将它们分组。
我理想地尝试将每个数字月份值映射到javascript按钮。当您单击“第1个月”按钮时,您将获得分组显示在javascript表中的所有第1个月条目,以及有多少条目的计数。然后表格将循环显示条目并在屏幕上打印。
我正在用这句话抓住条目
$myresult = customfunction($getCred, "Select * From Test_Data");
月份列的名称是NumericMonths,(整数) 例如,假设我想将所有“月份”分组 这是我设置的javascript表
<div class="container">
<ul class="nav nav-pills">
<li class="active"><a data-toggle="pill" href="#Month1">Month 1(this is where the count of items should go)</a></li>
<li ><a data-toggle="pill" href="#Month2">Month 2(this is where the count of items should go)</a></li>
<li><a data-toggle="pill" href="#Month3">Month 3(this is where the count of items should go)</a></li>
<li><a data-toggle="pill" href="#Month4">Month 4(this is where the count of items should go)</a></li>
<li><a data-toggle="pill" href="#Month5">Month 5(this is where the count of items should go)</a></li>
<li><a data-toggle="pill" href="#Month6">Month 6(this is where the count of items should go)</a></li>
<li><a data-toggle="pill" href="#Month7">Month 7(this is where the count of items should go)</a></li>
然后我想循环内容,具体取决于使用循环选择的按钮
while ($row = custom_fetch_array($res)){
#My code here to generate a table such as $row["Name"] etc etc
};
答案 0 :(得分:0)
这将为您提供两列,即rows_per_month包含一个月的项目数,NumericMonths包含月份数。结果中最多有12行。
class Example {
@Test
public void workingTest() {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("testPU");
EntityManager em = emf.createEntityManager();
// Creating three states
State alabama = new State(state: 'Alabama');
State louisiana = new State(state: 'Louisiana');
State texas = new State(state: 'Texas');
em.getTransaction().begin();
em.persist(alabama);
em.persist(louisiana);
em.persist(texas);
em.getTransaction().commit();
List<State> states = em.createQuery('FROM State').getResultList();
// Assert only three states on DB
assert states.size() == 3;
User userFromAlabama = new User();
User userFromAlabamaAndTexas = new User();
em.getTransaction().begin();
State alabamaFromDB = em.find(State, alabama.getId());
State texasFromDB = em.find(State, texas.getId());
userFromAlabama.getStates().add(alabamaFromDB);
userFromAlabamaAndTexas.getStates().add(alabamaFromDB);
userFromAlabamaAndTexas.getStates().add(texasFromDB);
em.persist(userFromAlabama);
em.persist(userFromAlabamaAndTexas);
em.getTransaction().commit();
states = em.createQuery('FROM State').getResultList();
// Assert only three states on DB again
assert states.size() == 3;
// Assert one user
User userFromDB = em.find(User, userFromAlabama.getId());
assert userFromDB.getStates().size() == 1;
userFromDB = em.find(User, userFromAlabamaAndTexas.getId());
assert userFromDB.getStates().size() == 2;
}
}
@Entity
@Table(name="tbl_users")
class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id
@Column(name="user_name")
private String name
@ManyToMany
private Collection<State> states = Lists.newArrayList()
// Getters and setters
}
@Entity
@Table(name="tbl_states")
class State {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="state")
private String state;
// Getters and setters
}
获取请求月份的行:
Select count(*) as rows_per_month, NumericMonths From Test_Data group by NumericMonths
答案 1 :(得分:0)
好吧,弄清楚你的设置是什么有点棘手但是从来没有那么简单。 老实说,让你的PHP更容易生活。
所以使用一些SQL来计算
SELECT COUNT(1) FROM Test_Data WHERE NumbericMonths = 1;
如果有很多,那么这将更容易。
第2步 - 数据。
我会做这样的事情。 (psudo代码)
$array = [];
$query = "SELECT * FROM Test_data "
foreach($row in $results) {
$array[$row[month]] = $array[$row[month]] . '<tr><td>'.$row['something'].'</td></tr>';
}
foreach($a in $array) {
echo $a
}
这很简单,而且我不确定我是否已经正确地完成了这个问题 - 因为我已经完成了PHP,但我的想法已经存在了。