当单击 AJAX 调用 PHP 计数器文件时,我正在与如何隔离特定的 MySQL id 作斗争。最初,我使用非 javascript HTLM 和回显 PHP 来创建一个块数组,每个块代表一个页面上的单个媒体文件。当用户单击块时,它会转到 PHP 计数器文件并播放媒体文件。它工作正常。尝试转换为 AJAX/javascript 运行 PHP 计数器文件时遇到问题。
问题似乎是:
- 未使用 onclick 注册正确的 ID。
- ID 没有被传递给名为 php 的 Ajax 文件,并且计数器没有更新。
主要块构建文件头中的javascript是:
<script type="text/javascript" src="jquery.js"></script>';
数百个块,每个块都有单独的 MySQL ID 被构建并显示在主页上。
添加 040913:PHP 开头为:
WHILE ($varX <= $varY) {
mysql_select_db($database_cms_test, $cms_test);
$query = "SELECT * FROM reference WHERE rank=$varRank";
$result = mysql_query($query) or die();
$row = mysql_fetch_array($result); ...
Ajax 部分从这里开始:
<script type="text/javascript">
function runCounter() {
var currentID = 222;
$.get("counter5.php?id=222");
alert("the current id is " + 222);
}
</script>
<a title="Media File Name" href "#" onclick= "runCounter();" id="sprytrigger1">
回显之前的等效 Ajax 代码是:
echo '<script type="text/javascript">';
echo 'function runCounter() {';
echo ' var currentID = ';
printf ("%s", $row['id']);
echo '; $.get("';
echo 'counter5.php?id=';
printf ("%s", $row['id']);
echo '"); alert("the current id is " + ';
printf ("%s", $row['id']);
echo ');} </script>';
echo '<a title="';
printf ("%s", $row['song_name']);
echo '" href "#';
echo '" onclick= "runCounter();';
echo '" id="sprytrigger';
echo $varRank;
echo '">';
在counter5.php文件中,主要的id请求代码为:
$id = mysql_real_escape_string($_GET['id']);
非常感谢您的意见/建议。