标题标记未按预期显示

时间:2013-08-12 19:48:10

标签: php

我尝试使用CSS类设置行的样式。现在MySQL数据出现在页面上,而不再出现在标题标签中。

错误在哪里?

Screenshot

<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>

文本显示在页面上,而不是在工具提示内。

5 个答案:

答案 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工具提示库才能让它按照您的设想运行。