2017-06-30 32 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。