我开始在 PHP 网站上使用 MySQL...
我有 2 个 div,我正在将信息提取到其中,我将 service
和 price
提取到每个 div,其中 id 等于 0
。
我可以很好地做到这一点,但是我现在必须在另外 3 个容器 div 中执行此操作,每个容器有 2 个 div)。
我尝试将 SELECT 查询放在每个 div 的顶部,如下所示,但这不起作用。
我试图保持 MySQL 表干净,而不使用 service1
、service2
、service3
等,而是使用 id 来引用。
我需要在 echo 中引用 id 还是其他内容?
这是一些代码...
<?php
$sql = "SELECT service, price FROM Australia WHERE id = '0'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
?>
<div class="container-top">
<div class="module-service"><span><?php echo $row['service']; ?></span></div>
<div class="module-price">£<?php echo $row['price']; ?><small> inc VAT </small></div>
<div>
<?php $conn->close(); } ?>
<?php
$sql = "SELECT service, price FROM Australia WHERE id = '1'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
?>
<div class="container-mid">
<div class="module-service"><span><?php echo $row['service']; ?></span></div>
<div class="module-price">£<?php echo $row['price']; ?><small> inc VAT </small></div>
<div>
<?php $conn->close(); } ?>
<?php
$sql = "SELECT service, price FROM Australia WHERE id = '2'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
?>
<div class="container-mid">
<div class="module-service"><span><?php echo $row['service']; ?></span></div>
<div class="module-price">£<?php echo $row['price']; ?><small> inc VAT </small></div>
<div>
<?php $conn->close(); } ?>
<?php
$sql = "SELECT service, price FROM Australia WHERE id = '3'";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
?>
<div class="container-bottom">
<div class="module-service"><span><?php echo $row['service']; ?></span></div>
<div class="module-price">£<?php echo $row['price']; ?><small> inc VAT </small></div>
<div>
<?php $conn->close(); } ?>
最佳答案
在脚本最后关闭连接,不要重复。第一次关闭后,其他查询将不起作用,因为连接将已关闭。这就像在别人买了东西之后走进一家刚刚关门的商店去买东西;)
此外,您无需创建所有这些循环,每个循环都有一个唯一的 ID,因此请使用它并按 ID 升序 (ASC) 进行排序。
获取 ID,以便您可以使用它。由于您似乎只是更改类,因此您可以在循环本身中更改它,从而减少代码重复。当您需要更改某些内容时,只需更新一处。
<?php
$sql = "SELECT service, price, id FROM Australia ORDER BY id ASC";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
if ($row['id'] == 1)
{
$container = 'top';
}
if ($row['id'] == 2)
{
$container = 'middle';
}
if ($row['id'] == 1)
{
$container = 'bottom';
}
?>
<div class="container-<?php echo $container; ?>">
<div class="module-service"><span><?php echo $row['service']; ?></span></div>
<div class="module-price">£<?php echo $row['price']; ?><small> inc VAT </small></div>
<div>
<?php } ?>
关于php - 在同一个PHP网站中引用不同的MySQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41192954/