【发布时间】:2023-03-20 19:29:01
【问题描述】:
我想用 jQuery 自动创建 div。我必须用 MySql 数据库中的数据填充它们。问题是当我使用 foreach 循环时它不想回显数据。
这是我的mysql代码:
$sql = "SELECT * FROM `post` ORDER BY `id` DESC";
$result = mysqli_query($con, $sql);
$row = mysqli_num_rows($result);
这是我的 jQuery 代码:
$(document).ready(function(){
var count = 1;
for(i = <?php echo $row; ?>; i > 0; i--){
$("#main").prepend('<div id="first'+count+'"></div>');
count++;
}
count = 1;
for(i = <?php echo $row; ?>; i > 0; i--){
<?php
while($col = mysqli_fetch_assoc($result))
{
$cols[] = $col;
}
foreach($cols as $col){
?>
$("#first"+count+"").text("<?php echo $col['post']; ?>");
count++;
<?php } ?>
}
});
我还检查了检查元素,一切似乎都很好,但它不想创建 div。
如果我将此 echo $col['post']; 更改为其他文本,它会起作用。
这是我在检查元素中得到的:
$(document).ready(function(){
var count = 1;
for(i = 3; i > 0; i--){
$("#main").prepend('<div id="first'+count+'"></div>');
count++;
}
count = 1;
for(i = 3; i > 0; i--){
$("#first"+count+"").text("text1");
count++;
$("#first"+count+"").text("text2");
count++;
$("#first"+count+"").text("text3");
count++;
}
});
感谢您的想法!
【问题讨论】:
-
在第一次运行时我会减少循环的数量,你有一个
for循环,其中有一个while循环,然后是一个foreach循环,一个循环就足够了,例如一个while循环,它将遍历结果 -
是的,感谢您的建议,但如果没有所有 3 个循环,它就无法按我的意愿工作。