我已经转换到MySQL Access数据库。我有一个表,联系人,字段为'EmailAddress','HideEmailAddress','FaxNumber','HideFaxNumber','PhoneNumber'和'HidePhoneNumber'。隐藏字段都是复选框,因此值为1或0,其中1为真。比较值给予不同的输出
无论是在我的MySQL Select语句还是在我的PHP查询中,我都需要能够在隐藏字段的值为1时不显示信息。另外,三个字段中只有一个字段被标记为隐藏,所以我不能做一条毯子“如果其中任何一个都隐藏了所有这些”。我需要将查询输出到网页,并根据每列的隐藏字段的值显示或隐藏上面的三个字段。我的SELECT语句检索所有六个值,PHP将它变成一个数组,但我不认为与阵列相比任何事情都会在这里帮助。
我只是不知道我应该在这里做。我一直在寻找一对夫妇现在天并没有什么的似乎来接近我所需要的。我有一个非常临时的if-elseif的,否则在我的PHP循环中运行,以得到它在截止日期前完成,但是这需要9条或12个不同的语句,我敢肯定有一个更好的方式来做到这一点。
这里是我的代码。我已经把它折了很多从原来的查询,但该查询没有工作,所以如果这里有错别字,它来自于砍伐。我只是不知道如何根据另一个字段的值来抑制字段。这也是为什么我在SELECT语句中有两个AS语句 - 在原始查询中,有来自五个不同表的信息,并且在它们中都有“FaxNumber”和“EmailAddress”。为了万一它改变了事情,我离开了AS。
<?php
$dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die('Error connecting to MySQL server.');
$query = 'SELECT Contact.CompanyID, Contact.WebContact, Contact.FirstName, Contact.LastName, Contact.WorkPhone, Contact.HidePhoneNumber, Contact.FaxNumber AS ConFaxNumber, Contact.HideFaxNumber, Contact.EmailAddress AS ConEmailAddress, Contact.HideEmailAddress FROM Contact WHERE TDAT_Contact.WebContact = "1"';
mysqli_query($dbc, $query);
if($r = mysqli_query($dbc, $query)) {
while ($row = mysqli_fetch_array($r)) {
if(($row['HidePhoneNumber'] == 1) && ($row['HideFaxNumber'] == 1)) {
echo '<hr><div align="query"><span class="strong">Contact:</span> ' . $row['FirstName'] . ' ' . $row['LastName'] . '<br /><br /><span class="strong">Direct Email Address: </span>' . $row['ConEmailAddress'] . '</div>';
} elseif($row['HidePhoneNumber'] == 0) && ($row['HideFaxNumber'] == 0) {
echo '<hr><div align="query"><span class="strong">Contact:</span> ' . $row['FirstName'] . ' ' . $row['LastName'] . '<br /><span class="strong">Direct Telephone: </span>' . $row['WorkPhone'] . '<br /><span class="strong">Direct Fax: </span>' . $row['ConFaxNumber'] . '<br /><span class="strong">Direct Email Address: </span>' . $row['ConEmailAddress'] . '</div>';}
}
...
else { // Query didn't run.
echo '<p style="color: red;">Could not retrieve the data because:<br />' . mysqli_error($dbc) . '.</p><p>The query being run was: ' . $query . '</p>';
}
}}
mysqli_close($dbc); // Close the connection.
?>
有一个解析的错误(第11行)如果你的问题不是这里提供的,我们不能帮你解决问题 – MichaelRushton 2013-03-27 18:50:11
看起来像我放弃了该行中的括号。谢谢你的收获。 – user2216934 2013-03-27 18:56:37