gpt4 book ai didi

php - 通过 JQuery 附加函数附加来自 mySQL 的 html 数据

转载 作者:行者123 更新时间:2023-11-29 13:36:20 25 4
gpt4 key购买 nike

我想从 MySQL 数据库加载内容数据,但有一个问题。我可以回显标题、链接和日期,但无法编写文章内容。

我的MySQL数据(存储在文本类型列中):

<div id="player"></div> 
<p>21.06.2013 r. jak co roku obchodziliśmy w naszej szkole Dzień Patrona. W tym roku po raz pierwszy z tej okazji odbył się rajd rowerowy oraz pieszy urozmaicony międzyklasową rywalizacją.</p>
<p>Każda klasa niezależnie od wybranego typu rajdu, musiała zmierzyć się z postawionymi przed nią zadaniami, do których należały: klasowy okrzyk, quiz o Norwegii, zawody pływacko-kajakowe, wykonanie zdjęcia z krową oraz zawody strzeleckie.</p>
<p>W tym roku rywalizację wygrała klasa 3aTI. Drugie i trzecie miejsce zajęły kolejno klasy 1bLO i 3SL.</p>

<script>
$(document).ready(function(){
$('#player').youTubeEmbed({
video: 'http://www.youtube.com/watch?v=-VprJHEmmJk',
width: 500, // Height is calculated automatically
progressBar: true // Hide the progress bar
});
});
</script>



运行良好的 JQuery 1 数据:

$("#dates").append('<li><a href="#"><?php echo date("j.m", strtotime($tresc[1])) ?></a></li>');



JQuery 2 数据不起作用:

$("#issues").append('<li id="date<?php echo $i ?>"> <h1> <a href="<?php echo $tresc[5] ?>"> <?php echo $tresc[2] ?> </a> </h1> <p> <?php echo $tresc[3]; ?> </p> </li>');

我的网站显示:

'); $("#dates").append('
21.06
');

而不是存储在数据库数据中。



当我删除

<p> <?php echo $tresc[3]; ?> </p>

其余代码运行良好。



完整的 PHP 文件

<h2 style="position: relative; top:-22px;">Aktualności</h2>
<div id="timeline">
<ul id="dates">
</ul>
<ul id="issues">
</ul>
<a href="#" id="next">+</a> <!-- optional -->
<a href="#" id="prev">-</a> <!-- optional -->
</div>

<script>
<?php
$i = 1;
if(isset($rok) && isset($miesiac))
{
$d1 = $rok.'-'.$miesiac.'-01';
$d2 = $rok.'-'.$miesiac.'-31';
$SQL = "SELECT * FROM news WHERE data >'" . $d1 . "' AND data <'" . $d2 . "' ORDER BY data DESC";
} else {
$SQL = "SELECT * FROM news ORDER BY data DESC LIMIT 10";
}
$q=mysql_query($SQL);
$ilosc=mysql_num_rows($q);//ile jest takich stron w bazie 0 czy 1
while( $tresc=mysql_fetch_row($q) )
{
if($tresc[7]==1) {
?>
$("#issues").append('<li id="date<?php echo $i ?>"> <h1> <a href="<?php echo $tresc[5] ?>"> <?php echo $tresc[2] ?> </a> </h1> <p> <?php echo $tresc[3]; ?> </p> </li>');
$("#dates").append('<li><a href="#"><?php echo date("j.m", strtotime($tresc[1])) ?></a></li>');
<?php
$i++;
}
}
mysql_free_result($q);
?>

</script>



编辑如果我有这两行:

$("#issues").append('<li id="date<?php echo $i ?>"> <h1> <a href="<?php echo $tresc[5] ?>"> <?php echo $tresc[2] ?> </a> </h1> <p> <?php echo $tresc[3]; ?> </p> </li>');
$("#issues").append('<li id="date<?php echo $i ?>"> <h1> <a href="<?php echo $tresc[5]; ?>"> <?php echo $tresc[2]; ?> </a> </h1> <p> <?php echo $tresc[3]; ?> </p> </li>');

它显示来自 mySQL 的数据,但是当我删除其中一个时,我只收到');

最佳答案

mysql 中的字符串包含换行符,这在 javascript 字符串中无效。例如,以下 JavaScript 无效:

var foo = 'This is a multi
line string';

要解决此问题,请将多行 html 回显到隐藏的"template"div 中,然后在 jquery 中将该模板 div 移动到您需要的位置。

例如:

<div id="dates-template" style="display:none">
<li id="date<?php echo $i ?>">
<h1><a href="<?php echo $tresc[5] ?>"> <?php echo $tresc[2] ?> </a></h1>
<p> <?php echo $tresc[3]; ?> </p>
</li>
</div>

然后在js中:

$('#dates').append($('#dates-template > *'));

关于php - 通过 JQuery 附加函数附加来自 mySQL 的 html 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18689544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com