在php上多次sprite图像

时间:2014-08-11 13:16:33

标签: php html mysql css sprite

我正在尝试做一些不同的事情,我需要知道是否有可能继续工作。 我在数据库中有2个mysql表。

其中一个随机数将连接到ID = number的另一个表。 在另一张桌子上,我有ID,名称,链接,高度,宽度。

此高度,宽度是精灵图像的起始位置。该精灵内的每个图像都有48px的高度和宽度。

所以我得到了信息,我需要处理数据。首先尝试我这样做

echo "<img class='small' src=$row2[link] height=$row2[height] width=$row2[width]>";

没有成功,因为我忘了高度和宽度是高度和宽度的实际信息。

我有时会这样做。对于我的测试,我必须尝试255次。那么有可能获得正确的图像吗?

对于html我只有这个:

<small style="height:48px;width:48px;">

我需要将起始位置切换到css侧吗?

   <?php

        $dsn = "mysql:host=localhost;dbname=tournament;charset=utf8";
            $opt = array(
                     PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
                     PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
                        );
            $pdo = new PDO($dsn,'root','', $opt);


            $stmt = $pdo->prepare("SELECT * FROM table1");
            $stmt->execute();
            while($row = $stmt->fetch()) {
                foreach ($row as $value) {
                       $stmt2 = $pdo->prepare("SELECT link , height, width FROM table2 WHERE id = :id");
                       $stmt2->bindValue(':id', $value);
                       $stmt2->execute();                  
                       while($row2 = $stmt2->fetch()){
                            echo "<img class='small' src=$row2[link] $row2[height] $row2[width]>";
                        }
                    }
                }


    ?>

最诚挚的问候, 圣保罗

2 个答案:

答案 0 :(得分:0)

这样做会有助于ypu,但为此你需要透明的图像

<img   src="img_trans.gif" style ="background: url(<?php echo $imagepath ?>) <?php echo $imgleft?> <?php echo $imgtop ?>; width: <?php echo $width?>px; height: <?php echo $width?>px;"  >

img_trans.gif是透明图像,因此bg图像可见

imagepath - 您的图片路径 imgleft - 左开始
imgtop - image top start

和其他是宽度和高度

这里我在HTML中使用嵌入式php标签,如果需要,可以为html构建php字符串

答案 1 :(得分:0)

echo '<div style=width:48px;height:48px;background:url('.$row2['link'].');background-position-x:-'.$row2['height'].'px;background-position-y:-'.$row2['width'].'px;";></div>';

这很有效。如果你认为有更好的方式给我发消息。

干杯