如何使用PHP从数据库中返回的数据中使用PHP获取数据?

时间:2013-08-30 21:33:10

标签: php javascript jquery database

我的目标:使用JQuery和PHP从MySQL数据库中检索单词列表,然后使用从该列表输出的数据(即该列表中每个单词的id)(在按钮的形式)从数据库中提取第二个单词列表。

用于从数据库中检索第一个单词列表的JavaScript代码:

$('#myButton').click(function() {
   var myData = $('#myButton').val();
   // Pass data to PHP script w/ JQuery AJAX function
   $.post("mydata.php", { buttonID: myData }, function(data) {
      $('pageSection').append(data);
   }
   $('pageSection').empty();
});

PHP代码返回数据库中的第一个单词列表(简化为重点关注重要细节):

// Connect to and select database
// Execute SQL query 
// Fetch data
while($row = mysqli_fetch_assoc($result)) {
   $id = $row["id"]
   // Return output
   echo "<button class=\"entry\" value=\"$id\">" . $row["word"] . "</button>";
}

使用数据库输出检索第二个单词列表的JavaScript代码:

$('#pageSection').on('click', '.entry', function () {
   // Capture data from value property of each outputted PHP button
   var value = $('.entry').val();
   // Pass value to PHP through AJAX 
});

问题:我希望每个按钮的每个value属性的值都返回相应的id。也就是说,对应于数据库中每个单词的id。我在检索id时没有任何问题。我可以用另一种格式输出它,但我无法为每个值获得正确的id。我想得到这些结果:

预期结果:

<button value="id1">Word 1</button>
<button value="id2">Word 2</button>
<button value="id3">Word 3</button>

相反,我得到了这个:

实际结果:

<button value="id1">Word 1</button>
<button value="id1">Word 2</button>
<button value="id1">Word 3</button>

关键问题:有没有办法返回PHP中生成的按钮,以便每个按钮的值属性识别从数据库返回的每个唯一值?

2 个答案:

答案 0 :(得分:1)

这与你的jQuery有关,而不是PHP。 PHP 实际输出:

<button value="id1">Word 1</button>
<button value="id2">Word 2</button>
<button value="id3">Word 3</button>

但是,在您的点击处理程序var value = $('.entry').val();内匹配所有 .entry元素,val()返回第一个匹配元素的值(每个the docs)。

相反,请使用$(this)来定位点击的元素。

$('#pageSection').on('click', '.entry', function () {
   // Capture data from value property of each outputted PHP button
   var value = $(this).val();
   // Pass value to PHP through AJAX 
});

答案 1 :(得分:1)

试试这段代码

while($row = mysqli_fetch_assoc($result)) {
   // Return output
   echo "<button class=\"entry\" value=\".$row["id"].\">" . $row["word"] . "</button>";
}