2017-06-30 34 views
1

我有一个查询正在执行,结果被作为变量$ result读取。将mysql查询结果追加到变量

$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这是数组中的第一个元素。因为没有打印任何东西,所以其他单选按钮不包含任何值长帖子,但我将不胜感激帮助。

+0

如果“批量”值打印在单选按钮的旁边,则值属性也是如此,因为您的PHP看起来不错。我认为你的问题在于如何验证这一点。显示你如何做到这一点:*我选择第一个单选按钮,它显示值»*。 –

+0

在帖子末尾看到上面的jquery。当我点击一个单选按钮时,它会将该值作为警报弹出框输出。只有第一个无线电按钮打印出警报。也许jQuery代码不正确? –

回答

3

不能多次使用相同的id

问题是在循环中使用了id="radioclick"

所以$("#radioclick").click(function() {会触发第一个匹配id它发现......但不是全部。

改为使用class

+1

哇。就如此容易!马上工作。干杯:) –

+0

你也可以缩短alert($(“input [name = inputWalls]:checked”).val());'to alert($(this).val());';) –

0

HTML元素的ID必须是唯一的。您将为每个<input>元素分配相同的ID,因此当您绑定click功能时,它只会绑定到第一个元素。

使用class="radioclick"而不是id="radioclick"在您的HTML和$(".radioclick").click而不是$("#radioclick").click在您的JS。