我开始在PHP网站上使用MySQL ......
我有2个div,我正在提取信息,我正在提取service
和price
,其中id等于0
in。
我可以做得很好,但我现在必须在另外3个容器div中执行此操作,每个div有2个div。
我试图将SELECT查询放在每个div的顶部,如下所示,但这不起作用。
我试图在不使用service1
,service2
,service3
等的情况下保持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">£<?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(); } ?>
答案 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">£<?php echo $row['price']; ?><small> inc VAT </small></div>
<div>
<?php } ?>