0

我有一个看起来像这样的表:

Name | date1   | date2   | date3   | etc..
per1 | status1 |         | status2 | etc
per4 | status2 | status3 |         | etc

日期列的数量不固定。它们的值可以是状态,也可以为空。

我想分别访问每一行的日期列的数据并处理数据。

我想要实现的输出:

Name | field1 | status1  | status2  | etc..
per1 | value  | #ofstat1 | #ofstat2 | etc

所以对我来说,访问问题开头的表格:

$confirmed ="Confirmed";
$accepted ="Accepted";

while ($row = mysql_fetch_array($result)) {

    $confirmed_cnt =0;
    $accepted_cnt =0;

    foreach ($row as $value) {
        if (strcmp($value, $confirmed)) $confirmed_cnt++;
        else if (strcmp($value, $accepted)) $accepted_cnt++;
    }
print("<tr>");
print("<td>$row["Name"]</td>"); // name   
print("<td>$confirmed</td>"); // confirmed
print("<td>$accepted</td>"); // accepted
print("</tr>");
}

据我所知,这应该可以工作,但由于某种原因,它会连续通过每列 2 次。

4

2 回答 2

2

尝试mysql_fetch_assoc()mysql_fetch_row()代替。
mysql_fetch_array()每列返回两次:作为 [1] 和作为 ['fieldName']

于 2012-12-10T16:52:32.517 回答
1

另外,您还有另一个错误,请替换以下行:

print("<td>$row["Name"]</td>"); // name

对于这个:

print("<td>$row['Name']</td>"); // name
于 2012-12-10T16:54:41.997 回答