我正在尝试编写一些PHP,它将值放在2D数组中并创建一个表来呈现数据。当我尝试在每行的末尾创建一个按钮时,我的问题出现了,我试图根据SQL查询中的$ row ['ID']给它一个唯一的名称(数组的第一个维度)。我只是不知道如何在循环上下文中提取这些数据。
$result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_num_rows($result);
if ($num_rows > 0){
while($row = mysql_fetch_assoc($result))
{
$list[$row['ID']]['ProductionNo']=$row['ProductionNo'];
$list[$row['ID']]['UserID']=$row['UserID'];
$list[$row['ID']]['StartTime']=$row['StartTime'];
$list[$row['ID']]['EndTime']=$row['EndTime'];
}
$openproduction = '<table><tbody><td>';
foreach ($list as &$value)
{
$openproduction .= '<tr>';
foreach ($value as &$valueitem)
{
$openproduction .= '<td> '.$valueitem.'</td>';
}
$openproduction .= "<td><input type='button' name='$key' class='button' ></td></tr></tr>";
}
$openproduction .= '</tbody></td></table>';
unset($valueitem);
unset($value);
答案 0 :(得分:0)
在这一行:
foreach ($list as &$value)
使用:
foreach ($list as $row_id => &$value)
然后你将在该循环中有一个有效的$ row_id,你可以参考。
答案 1 :(得分:0)
你正在做的一些事情只是很奇怪,在某些情况下是不正确的,尝试这样的事情(你让它变得比实际上更复杂):
$openProduction = "<table><tbody>";
$openProduction .= "<td>productionId</td>";
$openProduction .= "<td>userID</td>";
$openProduction .= "<td>startTime</td>";
$openProduction .= "<td>endTime</td>";
while($row = mysql_fetch_assoc($result))
{
$id = $row['ID'];
$productionId = $row['ProductionNo'];
$userID = $row['UserID'];
$startTime = $row['StartTime'];
$endTime = $row['EndTime'];
$openProduction .= "<tr id='row_$id'>";
$openProduction .= "<td>$productionId</td>";
$openProduction .= "<td>$userID</td>";
$openProduction .= "<td>$startTime</td>";
$openProduction .= "<td>$endTime</td>";
$openProduction .= "<td><input type='button' id='button_$id' class='button' /></td>";
$openProduction .= "</tr>";
}
$openProduction = ."</tbody></table>";
答案 2 :(得分:0)
好吧,如果您想以自己的方式完成,请参阅以下代码:
$result = mysql_query($query) or die(mysql_error());
$num_rows = mysql_num_rows($result);
if ($num_rows > 0){
while($row = mysql_fetch_assoc($result))
{
$row_id=0;// This variable will denote row number.
$list[$row_id]['ProductionNo']=$row['ProductionNo'];
$list[$row_id]['UserID']=$row['UserID'];
$list[$row_id]['StartTime']=$row['StartTime'];
$list[$row_id]['EndTime']=$row['EndTime'];
$row_id++;
}
$openproduction = '<table><tbody><td>';
foreach ($list as &$value)
{
$openproduction .= '<tr>';
foreach ($value as &$valueitem)
{
$openproduction .= '<td> '.$valueitem.'</td>';
}
$openproduction .= "<td><input type='button' name='$key' class='button' ></td></tr></tr>";
}
$openproduction .= '</tbody></td></table>';
unset($valueitem);
unset($value);