2

我尝试使用 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>

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

4

5 回答 5

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 中遇到的错误

于 2013-08-12T19:50:28.657 回答
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>
于 2013-08-14T01:59:02.407 回答
1

从您的标题属性中删除段落标签。

于 2013-08-12T19:52:51.900 回答
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>

希望这可以帮助。

于 2013-08-12T20:09:08.667 回答
0

您必须转义 html 属性的内容。使用 urlencode 的最简单方法。

 echo urlencode("<p>".$row->Name."</p><p>".$row->Beschreibung."</p>");

同样值得注意的是,html 本身不会在 title 属性中呈现,您必须使用 javascript 工具提示库才能使其按照您的设想工作。

于 2013-08-12T19:54:03.467 回答