我尝试使用CSS类设置行的样式。现在MySQL数据出现在页面上,而不再出现在标题标签中。
错误在哪里?
<a href="" title="
<?php
$abfrage = "SELECT * FROM tester";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
?>
<p><span class="qtip-big"><?php echo $row->Name; ?></span></p>
<p><?php echo $row->Beschreibung; ?></p>
<?php
}
?>
">Testlink</a>
文本显示在页面上,而不是在工具提示内。
答案 0 :(得分:1)
你的html错了:)你的代码做了这样的事情:
<a title="<p>paragraph</p>" > anchor </a>
属性中不允许使用Html元素(标题是属性,因此是href / src / alt等)
要获得多行,您可以这样做:
<a title="Line1 \nline2" > anchor </a>
我添加了\n
这是换行符的字符。也不是'line2'直接连接。虽然这看起来很愚蠢,但它可以防止空白区域'line2'
如果你有htmlerrors,你应该尝试html-validator,这将返回你在html中的错误
答案 1 :(得分:1)
从标题属性中删除段落标记。
答案 2 :(得分:1)
首先,你不应该在标题中放置HTML标签。其次,为什么你把PHP脚本放在那里以这种混乱的方式。它降低了可读性。在将SQL内容放入标题之前抓取它。
<?php
$abfrage = "SELECT * FROM tester";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis)){
$name=$row->name;
$Bech=$row->Beschreibung;
}
?>
<a href="" title="<?=$name?> <?=$Bech?>">Test Link</a>
希望这有帮助。
答案 3 :(得分:1)
<?php
$abfrage = "SELECT * FROM tester";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_array($ergebnis))
{
$Name=$row['Name'];
$Beschreibung=$row['Beschreibung'];
}
<a href='link' title='<? echo $Name?> <? echo $Beschreibung?>'>link</a>
答案 4 :(得分:0)
您必须转义html属性的内容。最简单的方法是使用urlencode。
echo urlencode("<p>".$row->Name."</p><p>".$row->Beschreibung."</p>");
值得注意的是,html本身不会在title属性中呈现,你必须使用javascript工具提示库才能让它按照您的设想运行。