【发布时间】:2017-06-30 23:59:55
【问题描述】:
如何像 User 1 和 User 3 一样将属于 User 2 的所有单元格重新组合成一行?
因此,该脚本不应为同一用户 id 提供多行,而应将它们分组为一行,以便 User 2 相应地显示所有指示的橙色单元格。
表格是从 PHP 代码动态创建的
但是,如果它可以用一个很棒的 SQL 语句来完成,否则 jQuery 或 JS 代码可以在加载后重新组合它也会有所帮助,有什么想法吗?
<table class="table table-bordered" id="whois-onleave" style="font-size:10px;">
<thead>
<tr style="text-align: center;font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;font-size: large"><td>July 2017</td></tr>
<tr>
<td> </td>
<td class=" currentday-bg dayoff"><b>Sat</b></td><td class=" dayoff"><b>Sun</b></td><td><b>Mon</b></td><td><b>Tue</b></td><td><b>Wed</b></td><td><b>Thu</b></td><td><b>Fri</b></td><td class=" dayoff"><b>Sat</b></td><td class=" dayoff"><b>Sun</b></td><td><b>Mon</b></td><td><b>Tue</b></td><td><b>Wed</b></td><td><b>Thu</b></td><td><b>Fri</b></td><td class=" dayoff"><b>Sat</b></td><td class=" dayoff"><b>Sun</b></td><td><b>Mon</b></td><td><b>Tue</b></td><td><b>Wed</b></td><td><b>Thu</b></td><td><b>Fri</b></td><td class=" dayoff"><b>Sat</b></td><td class=" dayoff"><b>Sun</b></td><td><b>Mon</b></td><td><b>Tue</b></td><td><b>Wed</b></td><td><b>Thu</b></td><td><b>Fri</b></td><td class=" dayoff"><b>Sat</b></td><td class=" dayoff"><b>Sun</b></td><td><b>Mon</b></td> </tr>
</thead>
<tbody>
<tr>
<td width="12"><b>Employee</b></td>
<td class=" currentday-bg dayoff"><b>1</b></td><td class=" dayoff"><b>2</b></td><td><b>3</b></td><td><b>4</b></td><td><b>5</b></td><td><b>6</b></td><td><b>7</b></td><td class=" dayoff"><b>8</b></td><td class=" dayoff"><b>9</b></td><td><b>10</b></td><td><b>11</b></td><td><b>12</b></td><td><b>13</b></td><td><b>14</b></td><td class=" dayoff"><b>15</b></td><td class=" dayoff"><b>16</b></td><td><b>17</b></td><td><b>18</b></td><td><b>19</b></td><td><b>20</b></td><td><b>21</b></td><td class=" dayoff"><b>22</b></td><td class=" dayoff"><b>23</b></td><td><b>24</b></td><td><b>25</b></td><td><b>26</b></td><td><b>27</b></td><td><b>28</b></td><td class=" dayoff"><b>29</b></td><td class=" dayoff"><b>30</b></td><td><b>31</b></td> </tr>
<tr>
<td>User 1</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 2</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td class=" allrequested"></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 2</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td class=" allrequested"></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 2</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td class=" allrequested"></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 2</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td class=" allrequested"></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 2</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td class=" allrequested"></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 2</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td class=" allrequested"></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
<td>User 3</td>
<td class=" currentday-bg dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" dayoff allaccepted"></td><td class=" dayoff allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td class=" allaccepted"></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td><td></td><td></td><td></td><td></td><td class=" dayoff"></td><td class=" dayoff"></td><td></td> </tr><tr>
</tbody>
</table>
【问题讨论】:
-
该表是如何创建的? php?为什么必须在客户端重新安排?有什么真正的原因吗?
-
好吧,在 PHP 中,代码遍历所有用户的所有叶子,并获取每个用户的 'leave_from' 和 'leave_to' 并创建一个日期范围,但是,因为一个用户在此期间可能有多个叶子一个月,这将显示在同一用户的新行中。我无法让 PHP 更好地工作
-
@LouysPatriceBessette 我已经包含了生成表格主体的 PHP 代码,如果你能帮助 PHP 那就更好了
-
我真的认为您应该“重新定位”您的问题以使其成为 SQL 问题。您的目标应该是将所有
status员工的所有status放在一行而$query->fetch。这样做,您将获得 SO 的 SQL 大师的帮助。 -- 我可以找到一种使用 jQuery 处理它的方法...但老实说,它不是对你来说是最好的。 -
你可以把这一切都放在服务器端。 ;) 专注于您的 SQL 查询的另一种方式...一些
inner join结果可能是关键。