在同一PHP网站中引用不同的MySQL查询

时间:2016-12-16 21:53:59

标签: php mysql

我开始在PHP网站上使用MySQL ......

我有2个div,我正在提取信息,我正在提取serviceprice,其中id等于0 in。

我可以做得很好,但我现在必须在另外3个容器div中执行此操作,每个div有2个div。

我试图将SELECT查询放在每个div的顶部,如下所示,但这不起作用。

我试图在不使用service1service2service3等的情况下保持MySQL表清洁,而是使用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">&pound;<?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">&pound;<?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">&pound;<?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">&pound;<?php echo $row['price']; ?><small> inc VAT </small></div>
   <div>
    <?php $conn->close(); } ?>

1 个答案:

答案 0 :(得分:1)

关闭脚本最末端的连接,而不是重复。第一次关闭后,其他查询无法正常工作,因为连接已关闭。就像走进一家商店一样,在其他人购买东西之后,他们就开始买东西了;)

此外,您无需创建所有这些循环,每个循环都有一个唯一的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">&pound;<?php echo $row['price']; ?><small> inc VAT </small></div>
   <div>
<?php } ?>