在PHP数组中存储和显示MySQL结果

时间:2011-10-19 06:24:33

标签: php mysql html

假设我有以下MySQL表结果:

ID    price    
-------------
 1     10      
 2     20      
 3     30      


基本上我想要完成的是将这些值存储到PHP数组中,并将这些值显示/回显为每行的HTML表。

我可以这样做:

if($result) {

    $i = 0;

    while ($row = mysql_fetch_array($result)) {
        $id[$i] = $row['id'];
        $price[$i] = $row['price'];      
    }
}

让这些元素与HTML表格一起回显。

然而,我还需要一个允许用户删除行的功能。有了这个想法,我相信我需要为每一行提供某种“键”作为删除标识符 - 多维数组支持的功能。

2 个答案:

答案 0 :(得分:1)

没有什么可以阻止您使用多维数组并使用其中一个唯一值作为索引:

// Store result
$data = array();
if($result) {
    while ($row = mysql_fetch_array($result)) {
        $data[$row['raiser_id']] = $row;
    }
}


// Building table
echo "<table>";
foreach ($data as $row)
{
    echo "<tr>";
    echo "<td>" . $row['raiser_id'] . "</td>";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['fcr'] . "</td>";
    echo "<td>" . $row['date_of_application'] . "</td>";
    echo "<td>" . $row['no_of_heads'] . "</td>";
    echo "<td>" . $row['place_of_farm'] . "</td>";
    echo "</tr>";
}
echo "</table>";


// Removing an entry by raiser_id
$raiser_id = 10;
if (!empty($data[$raiser_id]))
{
    unset($data[$raiser_id]);
    echo "Removed entry";
}
else
{
    echo "No entry to remove";
}

答案 1 :(得分:1)

要从数据库中删除一行,您必须拥有另一个PHP脚本,并且必须使用POST方法调用它并在其中运行SQL查询。

如果你只是在谈论显示这个表,那么PHP在这里没有任何关系 - 去寻找JavaScript。

当用户看到他的表时,没有mysql结果,没有PHP数组,也没有运行整个PHP。很久以前就已经死了。记在脑子里。