在while循环PHP中获取两个相邻的图像

时间:2016-07-19 05:06:12

标签: php css foreach

我有一个HTML代码,当我转换成php一些问题。实际上我需要foreachwhile loop作为以下div。

但是所有图像都不同(不要介意图像的名称,它可以是任何名称)。

<div class='img'>
   <img src='img/1.jpg'>
   <img src='img/2.jpg'>
 </div>
<div class='img'>
   <img src='img/3.jpg'>
   <img src='img/4.jpg'>
 </div>
//....more divs like this

这是我的尝试

 $stmt=$db->query("Select * from photo");
  foreach ($stmt as $row)
  {

   ?>
   <div class='img'>
   <img src='img/<?php echo $row['image']; ?>'>
  <img src='img/<?php echo $row['image']; ?>'> // how to get this image diffent from above images 
   </div>
   <?php  }

有专家吗?

2 个答案:

答案 0 :(得分:1)

试试:

caFree

<强>输出:

<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sth = $pdo->prepare("SELECT * FROM photo");
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
?>
<?php $i = 0; ?>
<?php $response = array(); ?>
<?php foreach ($data as $dataIndex => $dataValue): ?>
    <?php if ($i == 1): ?>
        <?php $response[] = '<img src="img' . $dataValue["image"] . '"/>'; ?>
        <?php $response[] = "</div>"; ?>
        <?php $i = 0; ?>
    <?php else: ?>
        <?php $response[] = "<div class='img'>"; ?>
        <?php $response[] = '<img src="img' . $dataValue["image"] . '"/>'; ?>
        <?php $i++; ?>
    <?php endif; ?>
<?php endforeach; ?>
<?php if(count($data)%2): ?>
  <?php $response[] = "</div>"; ?>
<?php endif; ?>
<?php echo implode("", $response); ?>

答案 1 :(得分:0)

假设$stmt是一个数组,你可以这样做。

<?php
$count = 0
while(sizeof($stmt) > $count) {
    ?>
    <img src="<?php $stmt[$count]['image']?>"/>
    <?php
    $count++;
    ?>
    <img src="<?php $stmt[$count]['image']?>"/>
    <?php $count++; ?>
}
?>