-3

我有一个页面,它使用选择查询从 MySQL 数据库中的曲目生成音频播放列表,即

$query1="SELECT * FROM tracks WHERE uploaded_page='$this_path_short' ORDER BY id DESC";

我希望用户能够以各种方式过滤播放列表,并且计划在表单中设置一系列单选按钮,以生成新的 MySQL 查询以仅列出所需的曲目。

我想知道使用此查询更新播放列表的最佳方式。理想情况下,这将在不刷新页面的情况下完成。

4

5 回答 5

3

在头部添加 AJAX:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 

按钮使用示例:

  <a href="#" onClick="$('#content_s').load('/sql.php?value=some_path');">News</a>

如果需要,您可以在 CSS 文件中编辑 $content_s 的悬停。

并在您的 html 中显示数据:

<div id="content_s">
 </div>

您的 sql.php 文件将如下所示:

<?php
$this_path_short = $_GET['value']; // stay frosty, it's SQLi vurnable, but this will get "some_path" I belive. I didn't test this though, but it should work
$query1="SELECT * FROM tracks WHERE uploaded_page='$this_path_short' ORDER BY id DESC";
...

您可以使用 PHP 生成链接

编辑 编辑 编辑 编辑 编辑 编辑 编辑 编辑

index.php 你说播放列表的路径在 index.php 所以:

<html>
<head>
<title>Playlist</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
</head>
<?php $path = 'http://www.youtube.com/watch?v=Jx0oOZmY5KM'; ?>
<div id="menu">
<a href="#" onClick="$('#content_s').load('playlist.php/?val=<?php echo $path ?>');">Load Playlist</a>
</div>
<div id="content_s">
</div>
</html>

播放列表.php:

<?php
$this_path_short = $_GET['val']; 
echo '$this_path_short = ' .$this_path_short.'<br>';
echo 'This is how the query looks like right now: "SELECT * FROM tracks WHERE uploaded_page=\''.$this_path_short.'\' ORDER BY id DESC";';
?>

这个例子会让你了解它是如何工作的

1.

在此处输入图像描述

2.

在此处输入图像描述

于 2012-08-10T22:51:05.103 回答
1

您必须使用 Ajax。jQuery 库对此非常有用。

http://api.jquery.com/jQuery.ajax/

于 2012-08-10T23:17:32.400 回答
0

在非常大的行中:

  • 只需使用过滤器 /playList.php?filter= 发出 Ajax 请求。
  • 在响应中,您只放置播放列表而不是 html 页眉和页脚。
  • 用新的播放列表替换播放列表的内容。

也许你可以使用jQuery

于 2012-08-10T22:39:24.387 回答
0

检查这个:http ://www.datatables.net/有用的插件

于 2012-08-10T22:44:05.597 回答
-1

每当您想要新页面内容而不刷新页面时 - 解决方案就是 AJAX。我无法用几句话解释 AJAX,但这里有一个很棒的教程:

http://www.w3schools.com/ajax/default.asp

于 2012-08-10T22:42:54.583 回答