【问题标题】:Store and display MySQL result to/from PHP array存储和显示 MySQL 结果到/来自 PHP 数组
【发布时间】:2011-10-19 06:24:32
【问题描述】:

假设我有以下 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 表格一起回显。

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

【问题讨论】:

  • 你在问什么?你想知道如何使用多维数组吗?
  • @skyuzo 老实说,我不确定应该使用哪种“类型”的数组。我所知道的是我需要使用数组来组织我的结果(上面的简单示例应该这样做),以便我可以从该数组中删除一个“行”。
  • 来自“那个数组”还是来自数据库?从数组中删除一行有什么意义?让您知道,当用户看到他的表时,这个数组已经不存在了。

标签: php mysql html


【解决方案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";
}

【讨论】:

  • 我知道数组可以将各种值作为索引,但您建议使用 $row['id'] 作为索引是一个不错的选择。我的代码现在可以运行了,谢谢!
【解决方案2】:

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

如果您只是在谈论显示此表,那么 PHP 就没有什么可做的了 - 使用 JavaScript。

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

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2016-10-29
    相关资源
    最近更新 更多