2014-01-08 6 views
0

Я пытаюсь преобразовать эту строку жестко закодированных изображений в динамический код с помощью mysql для его извлечения.динамически отображать изображения с помощью php 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> 

Может кто-нибудь поправьте меня?

+0

Прежде всего, вам следует серьезно подумать о переходе на mysqli_ * или PDO, mysql_ * устарел с PHP 5.5.0 – Kostis

+0

спасибо за совет, я все еще студент, опробовавший некоторые уроки .. вы можете помочь мне с вышесказанное? – user3145668

+0

Нажмите 'ctrl + u' и проверьте полученный исходный код в браузере, чтобы проверить img' src', или вы можете установить и использовать инструмент «firebug» или инструмент разработчика в браузере –

ответ

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

Привет, У меня ошибка Parse: ошибка синтаксиса, неожиданная '>' – user3145668

+0

Попробуйте сейчас. Его форматирование было испорчено. '' 'Не были частью кода – Machavity

+0

Привет, теперь он работает, но его пока только 1 изображение. – user3145668

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 будет генерировать САМЫЙ html для каждого изображения, за исключением пути к файлу изображения, который изменяется в зависимости от текущей строки в цикле while.

+0

Хм, я понял, что неправильно понял вопрос. Я немного отредактирую свой ответ, чтобы добавить несколько изображений для одного элемента. Но в основном вы эхом одни и те же html и зацикливаете только на изображениях, а не на весь html. – kchang4

Смежные вопросы