将mysql查询结果附加到变量
Posted
技术标签:
【中文标题】将mysql查询结果附加到变量【英文标题】:Append mysql query results to a variable 【发布时间】:2017-12-04 15:53:55 【问题描述】:我正在执行一个查询,结果作为变量 $result 被获取。
$stmt = $conn->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
数组中有 15 个元素。 0-15。
我想为数组中的每个项目回显一个单选按钮。我想将每个项目分配给单选按钮上的“值”字段(以下是我目前正在做的事情。)
foreach( $result as $row )
echo '<h4><input type="radio" name="inputWalls" id="radioclick" value="'.$row['batch'].'" >'.$row['batch']. '</h4>';
现在发生的情况是,数组中的所有项目以及它们旁边的所有单选按钮都会打印出来,这正是我想要的。但是,只有第一个单选按钮存储数组中第一个元素的值。
下面是数组的一个var_dump()。
array (size=15)
0 =>
array (size=2)
'batch' => string 'B0002128.RGB' (length=12)
0 => string 'B0002128.RGB' (length=12)
1 =>
array (size=2)
'batch' => string 'B0002129.RIE' (length=12)
0 => string 'B0002129.RIE' (length=12)
2 =>
array (size=2)
'batch' => string 'B0002130.RGB' (length=12)
0 => string 'B0002130.RGB' (length=12)
3 =>
array (size=2)
'batch' => string 'B0002131.RIE' (length=12)
0 => string 'B0002131.RIE' (length=12)
4 =>
array (size=2)
'batch' => string 'B0002132.RGB' (length=12)
0 => string 'B0002132.RGB' (length=12)
5 =>
array (size=2)
'batch' => string 'B0002133.RIE' (length=12)
0 => string 'B0002133.RIE' (length=12)
6 =>
array (size=2)
'batch' => string 'B0002134.RIE' (length=12)
0 => string 'B0002134.RIE' (length=12)
7 =>
array (size=2)
'batch' => string 'B0002135.RGB' (length=12)
0 => string 'B0002135.RGB' (length=12)
8 =>
array (size=2)
'batch' => string 'B0002136.RGB' (length=12)
0 => string 'B0002136.RGB' (length=12)
9 =>
array (size=2)
'batch' => string 'B0002137.RIE' (length=12)
0 => string 'B0002137.RIE' (length=12)
10 =>
array (size=2)
'batch' => string 'B0002139.RGB' (length=12)
0 => string 'B0002139.RGB' (length=12)
11 =>
array (size=2)
'batch' => string 'B0002140.RGB' (length=12)
0 => string 'B0002140.RGB' (length=12)
12 =>
array (size=2)
'batch' => string 'B0002141.RIE' (length=12)
0 => string 'B0002141.RIE' (length=12)
13 =>
array (size=2)
'batch' => string 'B0002142.RIE' (length=12)
0 => string 'B0002142.RIE' (length=12)
14 =>
array (size=2)
'batch' => string 'B0002143.RGB' (length=12)
0 => string 'B0002143.RGB' (length=12)
这是 jquery 代码,它将信息显示为每个单选按钮所包含内容的警报。
$(function()
$("#radioclick").click(function()
alert($("input[name=inputWalls]:checked").val());
);
);
当我选择第一个单选按钮时,它显示值 B0002128.RGB,它是数组中的第一个元素。每个其他单选按钮都没有任何价值,因为没有打印任何内容。很长的帖子,但我将不胜感激。
【问题讨论】:
如果batch
值被打印在单选按钮旁边,那么在 value 属性中也是如此,因为您的 php 看起来没问题。我认为您的问题是如何验证这一点。展示你如何做到这一点:我选择第一个单选按钮,它显示值»。
见上面的 jquery 在帖子的末尾。当我单击单选按钮时,它会将值打印为警报弹出窗口。只有第一个单选按钮会打印出警报。也许jquery代码不正确?
【参考方案1】:
您不能多次使用同一个id
。
问题是在循环中使用id="radioclick"
。
所以$("#radioclick").click(function()
将在它找到的第一个匹配的id
上触发...但不是全部。
改用class
。
【讨论】:
哇。就如此容易!立即工作。干杯:) 您也可以将alert($("input[name=inputWalls]:checked").val());
缩短为alert($(this).val());
;)【参考方案2】:
html 元素的 ID 必须是唯一的。您为每个 <input>
元素分配了相同的 id,因此当您绑定 click 函数时,它只会绑定到第一个元素。
在 HTML 中使用 class="radioclick"
代替 id="radioclick"
,在 JS 中使用 $(".radioclick").click
代替 $("#radioclick").click
。
【讨论】:
以上是关于将mysql查询结果附加到变量的主要内容,如果未能解决你的问题,请参考以下文章