如何根据列字段显示MySQL数据

时间:2015-04-09 20:02:59

标签: php mysql

我正在尝试为潜在客户预约制造商。可用的小时数将在很大程度上取决于个人日程安排,所以我不想要一个通用的日历类型预约制造商。我正在尝试的是一个包含4列[ID,Made,Date,Time]的SQL DB,其中包含以下类型[INT,BIT,VARCHAR,VARCHAR]。

当选择我的数据并显示它时,我试图让IF语句(PHP)确定“Made”是“00”还是“01” - 00是“约会可用”,01是“被采用”。< / p>

输出显示所有行;但是,它将所有行显示为“可用预约”。我的一行在“Made”列中有“01”,它仍然显示为可用。

连接后的PHP / SQL脚本:

$sql = "SELECT * FROM $tname";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

while($row = $result->fetch_assoc()) {
if ($row["Made"] = '00') {
echo "<tr><td>" . $row["ID"] . "</td><td>" . 'Make An Appointment' . "</td><td>" . $row["Date"] . "</td><td>" . $row["Time"] . "</td></tr>";
}
elseif ($row["Made"] = '01') {
echo "<tr><td>" . $row["ID"] . "</td><td>" . 'Reserved' . "</td><td>" . $row["Date"] . "</td><td>" . $row["Time"] . "</td></tr>";
}
}
}

这是网站输出的链接:

http://www.jpegchaos.com/appointment.php

我将继续重新上传.php,并尝试查看是否显示新信息。

第2行应显示“保留”,而1和3应显示“预约”

提前谢谢

1 个答案:

答案 0 :(得分:2)

当您检查==时,您需要使用=,而不是$row["Made"]。正如您现在所做的那样,第一个if语句总是为true,因此它永远不会到达elseif。试试这个:

$sql = "SELECT * FROM $tname";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {
        if ($row["Made"] == '00') {
            echo "<tr><td>" . $row["ID"] . "</td><td>" . 'Make An Appointment' . "</td><td>" . $row["Date"] . "</td><td>" . $row["Time"] . "</td></tr>";
        }
        elseif ($row["Made"] == '01') {
            echo "<tr><td>" . $row["ID"] . "</td><td>" . 'Reserved' . "</td><td>" . $row["Date"] . "</td><td>" . $row["Time"] . "</td></tr>";
        }
    }
}