簡體   English   中英

在MYSQL查詢中使用變量作為列名

[英]Using a variable as column name in a MYSQL query

我為約會創建了一個表格,該表格可以顯示一個時隙是否空閑,您可以從中保留約會。 這是有效的代碼..

$query=mysql_query("SELECT * FROM days "); 
echo " <form action=\"change.php\" method=\"post\"><TABLE>";
echo "<TR><Th> Dia <Th> 8 <Th> 9 <Th> 10 <Th> 11<Th>12 <Th> 13 <Th> 14 <Th> 15 <Th> 16       ";

while ($rows=mysql_fetch_array($query)) { 
    if ($rows['08'] == 'taken') {
        $rows['08'] = "<TD id=\"red\" >TAKEN";
    } 
    else {
        $rows['08'] = "<TD id=\"blue\" ><input type=\"radio\" name=\"slot\" value= \"08 $rows[day]\" >$rows[08]";
    }

    if ($rows['09']=='taken') {
        $rows['09']="<TD  id=\"red\" >TAKEN";
    }
    else {
        $rows['09']="<TD  id=\"blue\" ><input type=\"radio\" name=\"slot\" value= \"09 $rows[day]\" >$rows[09]";
    }

    if ($rows['10']=='taken') {
        $rows['10']="<TD  id=\"red\" >TAKEN";
    }

該代碼進一步覆蓋了所有時隙。.這是一個表格的示例,很好..在空閑單元旁邊有一個無線電波頓:

           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++;

.....等等 ..

我認為問題在於將變量放入行數組中的任何建議嗎?

$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>"; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM