我有一个奇怪的问题,我无法弄清楚。我很可能不知道什么是根本原因。我真的不知道。无论如何;我在一个使用mysql查找分区的页面上有一个函数;然后它有每个部门的按钮;当你点击每个按钮;每个部门的团队列表显示在div容器中。按钮发送" div_id"容器的价值。然后容器使用ajax返回mysql,然后查找该部门的团队并输出有关它们的信息。这一切都有效。但是当我尝试从ajax列表调用的php文件时,每个团队都有一个简单的href链接;链接不会出现。我似乎无法在ajax调用的php文件中出现href链接。
我认为我不需要发布所有按钮的所有代码以及所有这些,如果是这样,请告诉我;这是在php文件上执行ajax调用的脚本:
<script>
function MyRadFunction(DivId) {
var answer = DivId;
$.ajax({
cache: false,
type: 'GET',
url: 'http://jba.gtdsites.com/gscript3_links.php',
data: 'answer=' + answer,
dataType: 'html',
success: function(response) {
$('#ajax_content').html(response);
}
});
}
</script>
这里是名为的
的php文件<?php
if (!empty($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'
) {
// AJAX request
$answer = $_GET['answer'];
$div_id=$answer;
/* Connect to a mysql database using driver invocation */
$dsn = 'mysql:dbname=gtdtables;host=gtdtables.db.1567753.hostedresource.com';
$user = 'username';
$password = 'password';
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sql = "SELECT * FROM teams WHERE div_id=$div_id";
foreach ($dbh->query($sql) as $resultsg1)
{
$team_id=$resultsg1[team_id];
$team_name=$resultsg1[team_name];
echo "<a href='/team-schedules/?gc_start=2&team_id=<?php echo $team_id; ?>'><?php echo $team_name; ?></a><br/>";
echo $team_name . "<br/>";
echo $team_id . "<br/>";
?>
Teams Page not link
<a href="/final-exam-1-intro/">Final Exam 1</a>
<a href="http://jba.gtdsites.com/team-schedules/?gc_start=2&team_id=<?php echo $team_id; ?>"><?php echo $team_name; ?></a><br/>
<?php
}
}
?>
我很好地回应了团队名称和团队ID;我只是在那里打印文本也可以;但是所有的html超链接东西都没有出现;我尝试了几种不同的方法。谁能告诉我为什么会这样?
答案 0 :(得分:3)
您的错误很有趣,但是在检查site时,在网络选项卡上,可以正确呈现从PHP构建的标记。但问题是:
CSS就是问题所在:
a { color: #fff; }
链接上的文字颜色为白色。因此,它没有看到,但它在那里,只是相应地改变它。
a { color: #000; } /** or which color you want **/
在PHP中,正确连接值:
echo "<a href='/team-schedules/?gc_start=2&team_id=".$team_id."'>".$team_name."</a><br/>";
重要说明:不要直接在语句中使用变量,使用预准备语句来生成更安全的查询。 Here是一个教程。