我是操作数据库领域的新手,所以我遇到了问题。 因此,在进行查询以从表格行中选择所有值时,例如:
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];
答案 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']