gpt4 book ai didi

javascript - PHP 和 AJAX : How can I display json_encode data in PHP while loop?

转载 作者:行者123 更新时间:2023-11-30 10:10:47 25 4
gpt4 key购买 nike

我对使用 AJAX 和使用 json_encode 传递数据还很陌生。当我点击这个“aht”按钮时,它会向我的 show_aht.php 脚本发送一个 AJAX 请求,该脚本将运行一个查询。我想保存结果并将其显示到我的 map.php 中。

问题:

在我的 map.php 中,我有一个 while 循环,当单击显示其中的内容时,它会输出方形(桌面)DIV 和另一个 DIV(站)。 Here is the fiddle so you may understand .我希望 show_aht.php“TIME”的结果显示在 map.php 中我的 WHILE 循环生成的 DIV 中。

这怎么可能?我知道 AJAX 和 PHP 无法相互交互,这就是我需要帮助的原因。如果无法做到这一点,我还能如何将 TIME 从 show_aht.php 显示到正在输出的每个 DIV 上的相应用户名?我展示了大约 200 个。

提前致谢。

ma​​p.php(只显示while循环的最后一行,输出所有DIV)

//desk DIV
while(somequery){
....
echo '<div class="' . $class . '" data-rel="' . $id . '" style="left:' . $x_pos . 'px;top:' . $y_pos.'px;">' . $sta_num . '</div>' . "\n";
}//end while

//station DIV
while(some query){
.....
echo '<div class="station_info_" id="station_info_' . $id . '" style="left:' . $x_pos . 'px;top:' .$y_pos . 'px;"><p class="numb">User:' . $user .'<br>Station:' . $hostname . '<br>Pod:' . $sta_num . '<br>Section:' . $sec_name . '<br>State:' . $state .'<br></p></div>' . "\n";
}//end while

map.php(AJAX部分)

<div id="aht"><!--aht button--> 
<button id="aht_button">AHT</button>
</div><!--aht button-->

<script type="text/javascript">
$(document).ready(function() {
$('#aht').click(function(){
$.ajax({
type:"POST",
url : "show_aht.php",
data: , // pass data here
dataType: 'json',
success : function(data){

}//end success
});//end ajax
});//end click
});//end rdy
</script>

show_aht.php(显示循环和我希望返回数据的部分 I)

foreach($memo_data as $v){
foreach($user_data as $m){
if($v['memo_code'] == $m){
echo " User: " .$m. " Time: " . $v['avg_handle_time'] . "<br>";
}
elseif( $v['memo_code'] != $m){
echo "User: " . $m . " Time: N/A <br>";
}
}
}

最佳答案

除了一个有效的 json 字符串外,不输出任何内容。在你的情况下,你通过用构建数组(或对象...)替换 echo 并在最后输出它来做到这一点:

例如:

$data = array();
foreach($memo_data as $v){
foreach($user_data as $m){
if($v['memo_code'] == $m){
$data[] = " User: " .$m. " Time: " . $v['avg_handle_time'] . "<br>";
}
elseif( $v['memo_code'] != $m){
$data[] = "User: " . $m . " Time: N/A <br>";
}
}
}

// Output your json string
echo json_encode($data);

请注意,我只是用一个赋值替换了您的 echo ,但您也可以在数组中添加数组以仅返回数据部分并随后在 javascript 中进行处理。

例如(这在一定程度上取决于您的确切数据结构...):

...
$data[] = array($m, $v['avg_handle_time']);
...

关于javascript - PHP 和 AJAX : How can I display json_encode data in PHP while loop?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26847077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com