我正在尝试为潜在客户预约制造商。可用的小时数将在很大程度上取决于个人日程安排,所以我不想要一个通用的日历类型预约制造商。我正在尝试的是一个包含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应显示“预约”
提前谢谢
答案 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>";
}
}
}