来自SQL数据库的AJAX PHP数组

来自SQL数据库的AJAX PHP数组,php,ajax,json,Php,Ajax,Json,*我知道MYSQL是无润滑的。我现在只是把它作为一种学习工具 更新问题: 我更新了我的问题,让它更有意义 假设要将输出数组json数据添加到div id rvotes中,如何在HTML页面的PHP文件中显示该数据 JavaScript <script> $(document).ready(function () { $('.answer').click(function (e) { var color = $(this).attr("data-color"); $.ajax({ ty

*我知道MYSQL是无润滑的。我现在只是把它作为一种学习工具

更新问题:

我更新了我的问题,让它更有意义

假设要将输出数组json数据添加到div id rvotes中,如何在HTML页面的PHP文件中显示该数据

JavaScript

<script>
$(document).ready(function () {
$('.answer').click(function (e) {
var color = $(this).attr("data-color");
$.ajax({
type: 'POST',
url: 'mm.php',
data: { color: color},
dataType: 'json',
cache: false,
success: function(showVotes) {
$('#rvotes').html(row[0]);
},
error: function (jqXHR) {

}

})
})
});
</script>
添加我的HTML代码

<div id="wrapper">

<div id="red" data-color="red" class="answer">
<a href="#"><img src="images/red.jpg" width="100%" /></a>
</div>

<div id="blue" data-color="blue" class="answer">
<a href="#"><img src="images/blue.jpg" width="100%" /></a>
</div>

<div id="green" data-color="green" class="answer">
<a href="#"><img src="images/green.jpg" width="100%" /></a>
</div>

<div id=rvotes>
TEST
</div>

<div id=bvotes>
TEST
</div>

如何在HTML页面上显示数组的输出?

我认为这与这个问题类似

您无法访问php数组,因为它在ajax中。您需要首先将php数组传递给JSON_encode函数并回显它,从而将其表示为JSON

echo json_encode($results);
它将作为参数传递给ajax回调

在你的成功中

success: function(showVotes) {
$('#rvotes').html(showVotes[0]);
},

我认为这与这个问题类似

您无法访问php数组,因为它在ajax中。您需要首先将php数组传递给JSON_encode函数并回显它,从而将其表示为JSON

echo json_encode($results);
它将作为参数传递给ajax回调

在你的成功中

success: function(showVotes) {
$('#rvotes').html(showVotes[0]);
},

就我个人而言,我会让我的php吐出预先呈现的html,如下所示:

 $sql = "SELECT * FROM mms";
 $result = mysql_query($sql) or die(mysql_error());
    //I cleaned up redundant queries here...
    //echo top border
   echo "<table border='1'>
   <tr>
   <th>Color</th>
   <th>Votes</th>
   </tr>";
 while($row = mysql_fetch_assoc($showresult)) 
while($row = mysql_fetch_assoc($showresult)
  {
  echo "<tr>";
  echo "<td>" . stripslashes($row['color']) . "</td>";
  echo "<td>" . stripslashes($row['votes']) . "</td>";
  echo "</tr>";
  }
在它吐出html后,只需执行以下操作:

<script>
$(document).ready(function () {
$('.answer').click(function (e) {
var color = $(this).attr("data-color");
$.ajax({
type: 'POST',
url: 'mm.php',
data: { color: color},
success: function (showVotes) {
$("#votes").html(showVotes); //this edits the text inside the div to be whatever your php spits out
},
error: function (jqXHR) {
}

})
})
});
</script>
<div id="votes></div>

就我个人而言,我会让我的php吐出预先呈现的html,如下所示:

 $sql = "SELECT * FROM mms";
 $result = mysql_query($sql) or die(mysql_error());
    //I cleaned up redundant queries here...
    //echo top border
   echo "<table border='1'>
   <tr>
   <th>Color</th>
   <th>Votes</th>
   </tr>";
 while($row = mysql_fetch_assoc($showresult)) 
while($row = mysql_fetch_assoc($showresult)
  {
  echo "<tr>";
  echo "<td>" . stripslashes($row['color']) . "</td>";
  echo "<td>" . stripslashes($row['votes']) . "</td>";
  echo "</tr>";
  }
在它吐出html后,只需执行以下操作:

<script>
$(document).ready(function () {
$('.answer').click(function (e) {
var color = $(this).attr("data-color");
$.ajax({
type: 'POST',
url: 'mm.php',
data: { color: color},
success: function (showVotes) {
$("#votes").html(showVotes); //this edits the text inside the div to be whatever your php spits out
},
error: function (jqXHR) {
}

})
})
});
</script>
<div id="votes></div>

那么你的问题是什么?MySql本身很好。另外,我同意@johncode-你在问什么?我编辑了文本。基本上,我试图在PHP页面上检索PHP数组中的数据,并将其拉入HTML文档。那么你的问题是什么?MySql本身就可以了。另外,我同意@johncode-你在问什么?我编辑了文本。基本上,我正在尝试检索PHP页面上PHP数组中的数据,并将其拉入HTML文档。这不是更多的注释材料而不是答案材料吗?但是您是否能够确认它从PHP获得了正确的数据?rvotes是我的div。。。。我的sql看起来很好,它返回[{id:1,颜色:红色,投票数:34},{id:2,颜色:蓝色,投票数:28},{id:3,颜色:绿色,投票数:41}],如果单独加载php页面并打印它,那么首先问题是代码中没有调用php函数。代码中没有显示结果。你是说炫耀选票吗?它不是在你的代码中作为函数调用的。这不是更多的注释材料而不是答案材料吗?但是你能确认它从php获得了正确的数据吗?rvotes是我的div。。。。我的sql看起来很好,它返回[{id:1,颜色:红色,投票数:34},{id:2,颜色:蓝色,投票数:28},{id:3,颜色:绿色,投票数:41}],如果单独加载php页面并打印它,那么首先问题是代码中没有调用php函数。代码中没有显示结果。你是说炫耀选票吗?它不是作为函数在代码中调用的。