我有oracle函数,它为我返回1个长字符串。我使用preg_split
将字符串转换为数组(字符串以逗号分隔)。
$keywords = preg_split("/[\s,]+/", $oracle_return);
现在我可以将数据作为数组$keywords[1], $keywords[2]
等获取。我有73个数组部分。我需要将这些值填充到包含7列和12行的表中。所以这是我的代码。我想使用循环,它将与此示例相同(它会逐行地从我的查询中获取所有值):
while($row = sqlsrv_fectch_array($connection,$query))
{
$fist_column=$row['first_column'];
echo "<td>".$fist_column."</td>";
}
这是我的循环,我想逐行填充数据表7X12。 问题:如何为每个步骤添加+1到$ x?
while($i<=12) //Or i can use for($i=0;$i<=12;$i++)
{
$i++;
echo "
<tr>
<td>".$year. "</td>
<td>".$month. "</td>
<td>".$keywords[$x]. "</td> //if $x=1 so, equal to $keywords[1]
<td>".$keywords[$x+1]. "</td> //$keywords[2]
<td>".$keywords[$x+2]. "</td> //$keywords[3]
<td>".$keywords[$x+3]. "</td> //$keywords[4]
<td>".$keywords[$x+4]. "</td> //$keywords[5]
</tr>";
}
答案 0 :(得分:0)
我只是假设您希望每行有6个项目(如上一个代码示例所示)。我填充的数据纯粹是为了显示结果...
<?php
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
$arraySize = 73;
$keywords = [];
for ( $i = 0; $i < $arraySize; $i++ ) {
$keywords[] = $i+1;
}
for ( $i = 0; $i < $arraySize; $i++ ) {
if ( $i % 6 == 0 ) {
if ( $i > 0 ) {
echo "</tr>".PHP_EOL;
}
echo "<tr>";
}
echo "<td>".$keywords[$i]."</td>";
}
echo "</tr>".PHP_EOL;
哪些输出......
<tr><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>
<tr><td>7</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td></tr>
<tr><td>13</td><td>14</td><td>15</td><td>16</td><td>17</td><td>18</td></tr>
<tr><td>19</td><td>20</td><td>21</td><td>22</td><td>23</td><td>24</td></tr>
<tr><td>25</td><td>26</td><td>27</td><td>28</td><td>29</td><td>30</td></tr>
<tr><td>31</td><td>32</td><td>33</td><td>34</td><td>35</td><td>36</td></tr>
<tr><td>37</td><td>38</td><td>39</td><td>40</td><td>41</td><td>42</td></tr>
<tr><td>43</td><td>44</td><td>45</td><td>46</td><td>47</td><td>48</td></tr>
<tr><td>49</td><td>50</td><td>51</td><td>52</td><td>53</td><td>54</td></tr>
<tr><td>55</td><td>56</td><td>57</td><td>58</td><td>59</td><td>60</td></tr>
<tr><td>61</td><td>62</td><td>63</td><td>64</td><td>65</td><td>66</td></tr>
<tr><td>67</td><td>68</td><td>69</td><td>70</td><td>71</td><td>72</td></tr>
<tr><td>73</td></tr>
答案 1 :(得分:0)
这是你要找的吗?
它将输出72个项目,每行6个。
$keywords = range(1,73);
$year ="year";
$month ="month";
//For loop to 72
for($i=0;$i<72;)
{
echo "
<tr>
<td>".$year. "</td>
<td>".$month. "</td>
// Output the keywords
<td>".$keywords[$i]. "</td>
<td>".$keywords[$i+1]. "</td>
<td>".$keywords[$i+2]. "</td>
<td>".$keywords[$i+3]. "</td>
<td>".$keywords[$i+4]. "</td>
<td>".$keywords[$i+5]. "</td>
</tr>\n";
$i =$i +6; // add six to i to make sure it does not repeat itself.
}
我使用范围只是为了制作一个在运行时有效的示例,但您必须将其更改为您的代码 https://3v4l.org/t4WUn
这不会输出最后一项,但由于您知道它的第73项,因此可以使用echo $keywords[73]
轻松输出