1

我有一张从数据库中获取信息的表格……它是一个足球比分表。

在此表中,我有一列包含徽标“i”,当我将其悬停时,它会打开一个工具提示弹出窗口并提供有关匹配的信息...

这就是它的样子

我的工具提示的外观示例

所以要发布这个工具提示的信息,我使用标签的title属性,img在标题中我有这个代码title="<?php echo $row['InfoData'].""; ?>"来获取数据。

在我写的数据库中

Arena AufSchalke, Gelsenkirchen<br><br>
<table id='it'>
<tr><td>8' Klose</td>      <td align='right'>Arnautovic 42'</td></tr>
<tr><td>23', 47' Özil</td> <td align='right'>Harnik 51'</td></tr>
<tr><td>28' Podolski</td>  <td align='right'> </td></tr>
</table>

我的问题是每次我想在数据库中填写信息时,我都必须再次编写所有这些 html 代码并将右侧对齐到右侧,并且在 css 中我在表格的 TD 之间进行填充#it td {padding-right: 5px; padding-left: 5px;}

所以我想要一个解决方案来避免这样做?我怎么能做的快?无需添加所有这些代码。

4

3 回答 3

2

您不应该将所有 HTML 存储在数据库中。仅将数据存储在数据库中。我不确定到底发生了什么,因为我不懂那种语言,但是您应该将这些数字中的每一个存储在数据库的列中,并在 PHP 中查询它们。每个数字都有一个变量,然后以表格格式打印出来。像下面一行这样简单的东西就可以工作:

<tr><td> </td>   <td align='right'><?php echo $variable_name; ?></td></tr>
于 2012-06-08T15:37:36.440 回答
1

有一张表格,列出在每场比赛中得分的球员。然后运行查询以获取这些玩家,在 php 中构建字符串,然后将其放在标题中。

$string = "<table>";

$r = mysql_query("SELECT * FROM scorers WHERE game=$game_id");
while($a = mysql_fetch_assoc($r)) {
   $string .= "<tr><td>".$a['player_name']."</td></tr>";
}

$string .= "</table>";

echo "<img src='x' title='".$string."' />";

显然,这只是一个示例,并不完全是预期的结果。但它展示了如何从数据中构建一个字符串,然后将其放入标题属性中。你应该能够锻炼如何做剩下的事情。

于 2012-06-08T15:40:25.930 回答
1

如果没有更多信息,很难具体说明,但您不应该将 HTML 存储在数据库中是对的。相反,将各个数据片段存储为字段。要存储数据数组,您可以使用关联表,或者将数组序列化并将其存储为文本(不要忘记在返回时取消序列化!)

假设您的$row价值看起来像这样:

    array(
        'InfoName'=>'Astana Arena, Astana',
        'InfoList'=>array(
            'Klose 48\'',
            'Gómez 76\'',
            'Podolski 85\''
        )
    )

您的代码将如下所示:

        $html = $row['InfoName'];
        $html .= '<br><br><table>';
        foreach ($row['InfoList'] as $r) {
            $html .= '
                <tr>
                    <td>&nbsp;</td>
                    <td align="right">'.$r.'</td>
                </tr>
            ';
        }
        $html .= '</table>';
        echo htmlentities($$html);

htmlentities如果要将 HTML 存储在 HTML 元素的属性值中,则调用是必要的。

文档

PHP htmlentities- http://us3.php.net/manual/en/function.htmlentities.php

PHP foreach- http://us3.php.net/manual/en/control-structures.foreach.php

PHP serialize- http://php.net/manual/en/function.serialize.php

PHP unserialize- http://php.net/manual/en/function.unserialize.php

一对多关系教程 - http://en.tekstenuitleg.net/articles/software/database-design-tutorial/one-to-many.html

于 2012-06-08T15:43:26.610 回答