0
我对数据库运行查询,并且必须检查多个条件为true。我所提供的代码提取了我想要的数据,但是如果我必须检查更多的列,它可能会很快失控。我不想要一个查询,在那里我必须写出十几个“AND”条件。我正在学习一些MySQL,希望得到任何帮助。寻找一个更清洁的方式来运行查询,必须检查多个“AND”条件
<?php
$servername = "localhost";
$username = "xxxx";
$password = "xxxx";
$dbname = "oldga740_SeniorProject";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//Set up and run my Query
$sql = "SELECT Project, Client, DateReceived, LastName, FinalReviewDate FROM Projects
WHERE FinalReviewDate IS NOT NULL
AND DateDelivered IS NULL
AND DateAccepted IS NULL
ORDER BY DateAccepted DESC";
$result = $conn->query($sql);
//Display results
if ($result->num_rows > 0) {
echo "<table><tr><th>Client</th><th>Project</th><th>Point of Contact</th><th>Date Project Received</th><th>Final Review Date</th></tr>";
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td>" . $row["Client"]. "</td><td>" . $row ["Project"]. "</td><td> " . $row["LastName"]. "</td><td> " . $row ["DateReceived"]. "</td><td> " . $row["FinalReviewDate"]. "</td></tr>";
}
echo "</table>";
} else {
echo "0 results";
}
$conn->close();
?>
在代码中我会放置数组?我假设它会替换WHERE和两个AND语句... – Tony
您可以将数组放在$ sql变量上方。它取代了以下内容:FinalReviewDate IS NOT NULL AND DateDelivered IS NULL AND DateAccepted IS NULL –
我编辑了答案,查看最终代码。 –