Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将内容异步加载到php中的div中_Php_Jquery_Json_Asynchronous - Fatal编程技术网

将内容异步加载到php中的div中

将内容异步加载到php中的div中,php,jquery,json,asynchronous,Php,Jquery,Json,Asynchronous,我有一个按钮,从MySQL服务器加载艺术家列表,每个艺术家都有一个与其相关的链接和一个用于添加内容的div。该链接获取与该艺术家相关的歌曲数据。我想异步加载歌曲数据,但由于URL编码和使用PHP动态生成的div,我在解决如何加载时遇到了问题 我的页面 <html> <head> <title>BadNoise</title> </head> <body>

我有一个按钮,从MySQL服务器加载艺术家列表,每个艺术家都有一个与其相关的链接和一个用于添加内容的div。该链接获取与该艺术家相关的歌曲数据。我想异步加载歌曲数据,但由于URL编码和使用PHP动态生成的div,我在解决如何加载时遇到了问题

我的页面

    <html> 
    <head> 
        <title>BadNoise</title> 
    </head> 
    <body> 
        <form action="Artist.php" method="post"> 
            <fieldset> 
                <p> <input type="submit" value=" Search Our Artists" /> </p> 
            </fieldset> 
        </form> 

        <?php
$con=mysqli_connect("localhost","ee2800","secret","ee2800");

if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if($_SERVER["REQUEST_METHOD"] == "POST")

$result = mysqli_query($con,"SELECT * FROM artist LIMIT 10");

if($_SERVER["REQUEST_METHOD"] == "POST")

echo " <h2>List of BadNoise Artists</h2>
    <table border='0'>
<tr>
<th>Artist Number</th>
<th>Firstname</th>
<th>Lastname</th>
<th>Search Songs</th>

</tr>";

while($row = mysqli_fetch_array($result)) {
  echo "<tr>";
  echo "<td>" . $row['ArtistNumber'] . "</td>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo '<td> <a href="test4.php?name='. urlencode($row['ArtistNumber']).'">Search Songs</a></td>';
  echo "</tr>";
  echo "<td><div id=" . $row['ArtistNumber'] . "></div></td>";

}

echo "</table>";

$results->close();
mysqli_close($con);
?>

坏噪音

获取歌曲信息的文件

    <?php

$row = $_GET['name'];
echo $_GET['name'];

$dbs = new mysqli("localhost", "ee2800", "secret", "ee2800");

$results = $dbs->query("SELECT * FROM songs WHERE ArtistNumber = {$_GET['name']};");

$rows = array();
while ($r = mysqli_fetch_array($results)) 
  {
    $rows[] = $r;
  }

  echo json_encode($rows);
?>

在while循环中尝试此操作

echo '<td> <a href="#'.urlencode($row['ArtistNumber']).'">Search Songs</a></td>';
echo';
还有你的js

$(window).on('hashchange', function(){
      var qryStr = '?name='+ window.location.hash.split('#')[1]
     $.getJSON( "test4.php"+qryStr, function(obj){
            $.each(obj, function(key, value) {
               $("#dynamic").append("<p>"+value.Title+"</p>");


            });
        });
  return false;

});
$(窗口).on('hashchange',function()){
var qryStr='?name='+window.location.hash.split('#')[1]
$.getJSON(“test4.php”+qryStr,函数(obj){
$。每个(对象、功能(键、值){
$(“#动态”).append(“”+value.Title+”

”); }); }); 返回false; });
要异步加载内容,您需要使用ajax或websocket,请发布您尝试的内容。我的问题是,如果需要将url替换为#,如何发送我最初url编码的艺术家编号。问题是div的id不是“动态的”,id是艺术家编号。回声“;对不起,我弄糊涂了!我相信你!我希望数据进入的div与正在传递的艺术家编号具有相同的ID。我说得通吗?有没有办法在js中识别div?通常,您会有一些id的固定部分和一些动态部分,然后使用jQuery作为目标,比如
var name=window.location.hash.split('#')[1]$(“动态”+名称)
在php中,您可以呼出
$(window).on('hashchange', function(){
      var qryStr = '?name='+ window.location.hash.split('#')[1]
     $.getJSON( "test4.php"+qryStr, function(obj){
            $.each(obj, function(key, value) {
               $("#dynamic").append("<p>"+value.Title+"</p>");


            });
        });
  return false;

});