将sql查询结果传递给另一个php页面(包含在div中)以运行另一个sql查询 - 所有在同一页面上,使用ajax

时间:2015-06-05 01:13:46

标签: php sql ajax

目标: 将sql查询结果传递给单独的php文件,该文件使用该结果运行另一个sql查询。

我有一个列出几行数据的SQL查询。我希望该行的一个数据片段作为链接。单击该链接时,该数据将传递到另一个php页面,该页面根据传递的数据运行sql。

目前有一个ajax脚本,可以在与原始sql查询相同的页面上的单独div中更新内容。基本上我的sql列出了篮球运动员信息。名称,身高,体重,位置。我想点击播放器名称并有一个单独的php文件根据播放器名称提取更多数据。

我必须使用玩家名称创建列:

echo
"<td><a href=javascript:void(0); onClick=getdata('/players/player1.php,'content');>".$players['first_name']." ".$players['last_name']."</a></td>";

如何将名称传递给单独的php文件?谢谢!

1 个答案:

答案 0 :(得分:0)

HTML中的一些错误:属性数据需要用引号括起来,而且你的单引号丢失了:

echo
"<td><a href='#' class='js-load-more' data-playername='" . htmlspecialchars($players['first_name']) . "'>".htmlspecialchars($players['first_name'])." ".htmlspecialchars($players['last_name'])."</a></td>";

那么,知道这一点,你显然没有编写getData函数吗?

假设你没有,假设你是初学者,我建议你看看jQuery,因为这会简化你正在做的很多事情。 (它可以在没有jQuery的JavaScript中完成,如果这是你喜欢的,但这更简单。)

您的HTML将

$( ".js-load-more" ).on( "click", function( event ) {
    $.ajax({
       url: 'http://YourUrl/page.php?name=' + $(this).data('playername'),
       error: function() {
          $('#info').html('<p>An error has occurred</p>');
       },
       dataType: 'json',
       success: function(data) {
          var $title = $('<h1>').text(data.talks[0].talk_title);
          var $description = $('<p>').text(data.talks[0].talk_description);
          $('#info')
             .append($title)
             .append($description);
       },
       type: 'GET'
    });
});

在HTML中包含jQuery(请参阅http://jquery.com/

然后包含事件处理程序:在jQuery的首页上是你需要适应的两个例子。你最终会得到这样的东西(其中#info是你显示数据的页面上的div):

<head>
<title>Google Maps JavaScript API v3 Example: Geocoding Simple</title>
<link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="//maps.googleapis.com/maps/api/js?sensor=false"></script>

</head>
<body onload="initialize()">
  <div>
    <input id="address" type="textbox" value="96818">
    <input type="button" value="Geocode" onclick="codeAddress()">
       <input id="coord" type="textbox" value="">
  </div>

</body>
</html>

从那里玩,这应该让你去。