我现在正在做一个非常重要的项目,我几乎完成了。但我被困在网站核心功能的最后一部分。。。我想知道如何从数据库的“标题”、“说明”、“链接”三列中检索数据,并将“标题”和“说明”行打印到 <div></div>
我想用 $("#anchor").attr("href", link)
链接属性 <div><a href = "" id = "anchor"></a></div>
我的问题是它只在数据库表的第一行执行javascript代码。
<html>
<head>
<title>test001</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<style>
#load1 {
background-color: green;
height: 100px;
width: 100px;
}
#load2 {
background-color: green;
height: 100px;
width: 100px;
}
</style>
<div id="divone">
<div id="load">
<div id="load1">
</div>
<div id="load2">
</div>
<div>
<a href="" id="load3" target="_ blank">
Test
</a>
</div>
</div>
</div>
<script>
function clone() {
var div = document.getElementById("load");
var cln = div.cloneNode(true);
document.getElementById("divone").appendChild(cln);
}
</script>
<?php
$conn = mysqli_connect("localhost", "id5757217_testsql01", "9977553311", "id5757217_testsql1");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM insertion";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while ( $row = $result->fetch_assoc() ) {
$array[] = $row;
$id = $row['ID'];
$tle = $row['Title'];
$des = $row['Description'];
$lnk = $row['Link'];
echo "<script type = text/javascript>clone()</script>";
}
} else { echo "0 results"; }
$conn->close();
?>
<script>
var id = "<?php echo $id; ?>";
var title = "<?php echo $tle; ?>";
$("#load1").text(title);
var desc = "<?php echo $des; ?>";
$("#load2").text(desc);
var lnk = "<?php echo $lnk; ?>";
$("#load3").attr("href", lnk);
</script>
</body>
</html>
2条答案
按热度按时间4uqofj5v1#
您不应该使用javascript来创建所有div。只需在php脚本本身中执行。
您还需要将所有重复的id更改为类,因为id应该是唯一的。
up9lanfz2#
你只回显了一行,因为你的回显超出了你的范围
while
回路:你得动一下你的手
echo
把数据放回循环中更新
正如barmar在评论中所说的,您将覆盖
$("#load1")
循环的每次迭代。为了“看到”这个工作。。我会用$("#load1").append()
因此,您至少可以“查看”正在执行的操作并相应地更改代码,或者动态创建元素,并使用key
说出他们的名字。