使用php mysql动态显示图像

时间:2014-01-08 18:09:46

标签: php mysql image dynamic

我试图通过使用mysql来检索它,将这一系列硬编码图像转换为动态代码。

<div class="item-block-1">
                            <span class="tag-sale"></span>
                            <div class="image-wrapper">
                                <div class="image">
                                    <div class="overlay">
                                        <div class="position">
                                            <div>
                                                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis metus non erat tincidunt consectetur. Maecenas ac turpis id lorem.</p>
                                                <a href="#" class="quickshop">Quick shop</a>
                                            </div>
                                        </div>
                                    </div>
                                    <a href="#"><img src="images/photos/photo-3.jpg" style="margin: -32.5px 0 0 0;" alt="" /></a>
                                </div>
                            </div>
                            <h2><a href="pandora-item.html">Polka dot light blue blouse</a></h2>
                            <p class="price">$13.99<s>$36.99</s></p>
                        </div>

我的动态代码如下,但它只允许我只检索一个图像,而不是循环遍历代码..

<div class="item-block-1">
                            <div class="image-wrapper">
                                <div class="image">
                                    <div class="overlay">
                                        <div class="position">
                                            <div>
                                                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis metus non erat tincidunt consectetur. Maecenas ac turpis id lorem.</p>
                                                <a href="#" class="quickshop">Quick shop</a>
                                            </div>
                                        </div>
                                    </div>
                                         <?php

$result = mysql_query("SELECT * FROM my_image", $connection);


while($row = mysql_fetch_array($result))
{    
   echo "<div><img src=\"uploadedimages/".$row['name']."\" /></div>"; 
}  
?> 
</div>
</div>

任何人都可以纠正我吗?

2 个答案:

答案 0 :(得分:0)

试试此代码

<?php
$result = mysql_query("SELECT * FROM my_image");
?>
<div class="item-block-1">
                            <div class="image-wrapper">
                                <div class="image">
                                    <div class="overlay">
                                        <div class="position">
                                            <div>
                                                <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis metus non erat tincidunt consectetur. Maecenas ac turpis id lorem.</p>
                                                <a href="#" class="quickshop">Quick shop</a>
                                            </div>
                                        </div>
                                    </div>
                                  <?php                                 
                                    while($row = mysql_fetch_array($result))
                                       {
                                  ?>
                                   <div>
                                      <img src="new/<?php echo $row['name']; ?>"/>
                                   </div>
                                    <?php
                                       }       
                                     ?> 
                                   </div>
                                </div>
                            </div>

答案 1 :(得分:0)

因为你需要建议

<?php
/* 
 * I usually put this in a class, but doing this all in-line for you.
 * I did this with PDO, which is just like mysql_, but better.
 */
$db_name = ''; // put your database name here
$db_host = ''; // your host name, usually localhost
$db_username = ''; // the database username used to access this database
$db_password = ''; // password associated with the username
$dsn = 'mysql:dbname='.$db_name.';host='.$db_host; // this is for the PDO object    
$PDO = new PDO($dsn, $db_username, $db_password);

$query = 'SELECT * FROM my_image';

$Stmt = $PDO->prepare($query); // prepares your SQL
$Stmt->execute() // runs your SQL

// This will test to see if you get any images back from your database
if ($Stmt->rowCount() > 0) {
    /* 
     * This means you have atleast 1 image back from your database
     * The wile loop will iterate through your images from the database
     * and generate the HTML below for each, only changing the name of the file
     * on each iteration
     */
    while ($row = $Stmt->fetch(PDO::FETCH_ASSOC)) {
        echo '<div class="item-block-1">';
        echo     '<div class="image-wrapper">';
        echo         '<div class="image">';
        echo             '<div class="overlay">';
        echo                 '<div class="position">';
        echo                     '<div>';
        echo                         '<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam quis metus non erat tincidunt consectetur. Maecenas ac turpis id lorem.</p>';
        echo                         '<a href="#" class="quickshop">Quick shop</a>';
        echo                     '</div>';
        echo                 '</div>'; // class="position" div   
        echo             '</div>'; // class="overlay" div   
        echo             '<div><img src="uploadedimages/'.$row['name'].'" /></div>'; // This is the actual image
        echo         '</div>'; // class="image" div    
        echo     '</div>'; // class="image-wrapper" div
        echo '</div>'; // class="image-block-1" div    

    }
}

当然这不是如何正确地做到这一点,但如果你这样做就行了,那就是这样的。 while循环将为每个图像生成SAME html,但图像文件路径除外,它根据while循环中的当前行而变化。