代码更进一步覆盖所有时隙.. 这是表看起来像一个例子..好..with具有无线钮的游离细胞他们旁边:

  day 08  09  10  11  12  13  14  15  16 
    2013-05-05 free free free taken free free taken free free 

我想要做的是自动化这一点。在创造一个循环,这样我不必重复相同的代码,所以很多次.. 我尝试以下,但它没有工作:

while ($rows=mysql_fetch_array($query)) { 
    $c="08"; 
    if ($rows["$c"]=='taken') { 
     $rows["$c"]='taken'; 
    } 

    if ($rows["$c"]=='free') { 
     $rows[$c] = "<input type=\"radio\" name=\"slot\" value= \"$c. $rows[day]\" >$rows[$c]"; 
    } 

    echo "<TR><TD>$rows[day]"; echo "<TD> $rows[$c]"; $c++; 
    echo "<TD> $rows[$c]"; $c++; 
    echo "<TD> $rows[$c]"; $c++; 
    echo "<TD> $rows[$c]"; $c++; 

.....等等..

我在想这个问题的方式是把变量放在行数组 的任何建议?

+0

闭合标签总是很好,虽然不是必需的。 – 2013-05-10 22:03:51

+0

这是真的..但这里的问题是关于尝试使用一个变量作为列名.. – 2013-05-10 22:06:07

+0

我不是一个PHP专家,但你不能'echo“

”。$ rows [$ c]。 “”;'因为'.'是PHP中的串联字符。 – 2013-05-10 22:12:22

$query=mysql_query("SELECT * FROM days "); 
echo "<form action='change.php' method='post'><table>"; 
echo "<tr><td>day</td><td>8</td><td>9</td><td>10</td><td>11</td><td>12</td><td>13</td><td>14</td><td>15</td><td>16</td></tr>"; 

while ($rows=mysql_fetch_array($query)) { 

    while ( $rows=mysql_fetch_assoc($query)) { 

     $res[]="<tr><td>".$rows[day]; 

     for ($c="8";$c<="16";$c++) 
     { 

      if ($c<10){$ca="0".$c;} else {$ca=$c;} 

      if ($rows[$ca]=='taken') { 
       $res[]='taken'; 
      } 
      if ($rows[$ca]=='free') { 
       $res[] = "<input type='radio' name='slot' value='".$c." ".$rows[day]." >".$rows[$ca]; 
      } 
     } 
     $res[]="</td></tr>"; 
     echo implode("</td><td>",$res); 
    } 
    echo "</table></form>"; 
+0

这不起作用,因为它只响应第一列,我需要显示所有列的内容(08-09-10-11-12-13-14-15-16)代表开放时间 – 2013-05-10 22:22:35

+0

哦,对不起,它一定是在线,而不是垂直? – user2368299 2013-05-10 22:31:23

+0

请显示你的表格结构,并写出你想要的exaple whi,谢谢 – user2368299 2013-05-10 22:32:56

相关推荐