从数据库表中获取选定的值?

时间:2017-06-08 10:25:25

标签: php mysql

我是操作数据库领域的新手,所以我遇到了问题。 因此,在进行查询以从表格行中选择所有值时,例如:

while($row = $result->fetch_assoc()) { }

例如,如果表中包含名称,我们将得到:

John
Bob
Steve
Mark

如果我们将这些结果用于链接或按钮的形式,是否有任何方法可以获得它们的价值?

我尝试过类似的事情:

if (isset($_POST['result_button'])) {
$value =$row['name'];
}

当我将查询中的所有结果放入按钮形式时,我尝试了这一点,但这只会从表格行中提取最后一个值。

我尝试将结果放入数组中,如:

$result= array();
$result[]=$row['name'];

echo $result[2];

我不完全理解数组是如何工作的,所以可能在那里做错了但是从我试过的只有当我把echo $ result [0];

1 个答案:

答案 0 :(得分:0)

好的,首先:

$row = $result->fetch_assoc()

这不符合您的期望。这基本上是说,对于每个返回的值(来自MySQL查询),存储在$row中,用于while循环的迭代。

所以,在你的例子中,$row首先是约翰,然后是鲍勃,然后是史蒂夫,最后是马克。它们并非全部同时存储在变量中。鲍勃覆盖约翰等等。

我将跳过你的第二段代码,因为很明显你对arrays没有理解。

<强>阵列

网上有很多关于阵列的资料。我不知道你为什么要在这里发布这个问题,但是......

定义数组:

$my_array = array();

值为:

的数组
$my_array = array(
    "bar",
    "foo"
);

将变量分配给数组:

$my_array = array();
$my_array[0] = "Help" // $my_array[0] now contains "Help"
$my_array[1] = "Me"; // $my_array[0] now contains "Me"

所以,把你当作最后一个例子:

$result= array();
$result[]=$row['name'];

echo $result[2];

您尚未在数组的第二个元素中存储任何内容。

这更合适:

$result= array();
$result[0] = $row['name'];

echo $result[0]; // This would print what was stored in $row['name']