PHP如何将结果分隔为在一个页面的两个div中回显?

时间:2017-06-21 16:53:21

标签: php sql

我知道如何一个接一个地产生结果,但是你如何将它们分开?所以在我的sql中,我从表中选择*并将其限制为4

$sql = "SELECT * FROM table limit 4"; 
$result = $conn->query($sql); 
while($row = $result->fetch_assoc()) 
{$rows['id']=$row;}; 
$price = $row['price'];

我似乎没有得到任何结果,任何建议,对不起家伙初学者

   ...<?php echo $id ?></font></span>
  <h4><?php echo $price ?></h4></div>
  <div class="planFeatures"><ul>
  <li><h1><?php echo $id=2 ?></h1></li>//how do I echo the next id?
  <li><?php echo $price2 ?></li>       //also the next price which id now is also 2
                                       //and so on......

如何在另一个div中的同一页面的不同区域显示下一个增量结果?

我确实得到了结果,如果我sql并重新选择(并说id = 2),但我确信有更好的方法,因为我已经得到了我的4个结果与我的限制。

1 个答案:

答案 0 :(得分:0)

您似乎没有正确保存查询结果中的结果。循环的每次迭代都会覆盖$rows数组中的相同存储桶。相反,您需要向$rows数组添加元素;这将产生一个索引数组。然后,您可以迭代它并生成HTML内容。

<?php

// Perform query.
$sql = "SELECT * FROM table limit 4";
$result = $conn->query($sql);

// Fetch results
while (true) {
    $row = $result->fetch_assoc();
    if (!$row) {
        break;
    }

    $rows[] = $row;
}

// Generate HTML content using $rows array.
?>
<table>
  <thead>
    <tr>
      <th>ID</th>
      <th>Price</th>
    </tr>
  </thead>
  <tbody>
    <?php foreach ($rows as $row):?>
      <tr>
        <td>ID: <?php print $row['id'];?></td>
        <td>Price: <?php print $row['price'];?></td>
      </tr>
    <?php endforeach;?>
  </tbody>
</table>

我在上面的示例中采取了一些自由并生成了一个简单的HTML表。当然你可以修改它来生成你想要的任何东西。

我希望我能准确地解释你的问题,如果不是就道歉!