-3

私はこの情報のテーブルを持っています:

id ctype weeknum  daynum   posting
1  2     2        3        15.55
2  2     4        5        60.50
3  2     15       1        10.00
4  2     17       2        100.55

このループを使用して、適切な行と列に「投稿」を使用したいと思います。

for($row=1;$row<=52;$row++) // 52 weeks in a year
{
for($col=1;$col<=7;$col){                // 7 days in a week

$query=mysql_query("select * from table where ctype=2");
$weekday=mysql_fetch_array($query);

if($row==$weekday['weeknum'] && $col==$weekday['daynum']){

echo "<input type='text' value'".$posting['posting']."' />";
} else {

echo "<input type='text' />";     // will display a blank textbox

}
}
}

このようなことは私が達成したいことです。http://tvends.com/sample/sample.jpg

4

1 に答える 1

0

こんな感じになります

$mysql = new mysqli("localhost", "root", "", "test");
$result = $mysql->query("SELECT * FROM stack  WHERE ctype = 2");

$map = array();

while ( $row = $result->fetch_assoc() ) {
    $map[$row['weeknum']][$row['daynum']] = $row['posting'];
}

print("<table><thead><tr>");
printf("<td>Week</td>");
for($i = 1; $i <= 7; $i ++) {
    printf("<td>%s</td>", "Day $i");
}
print("</tr></thead>");

print("<tbody>");

for($w = 1; $w <= 52; $w ++) {
    print("<tr>");
    printf("<td>%d</td>", $w);
    for($d = 1; $d <= 7; $d ++) {
        $key = "day_{$w}_{$d}";
        if (isset($map[$w][$d])) {
            printf("<td><input type='text' value='%s' name='%s' /></td>", $map[$w][$d], $key);
        } else {
            printf("<td><input type='text' name='%s' /></td>", $key);
        }
    }
    print("</tr>");
}

print("</tbody></table>");
于 2012-10-31T18:28:11.123 に答える