我正在尝试找到一种在此代码中显示else或if语句的方法,这样如果mysql表中不存在记录/值,那么它将回显一条文本,如'问我'。
继承人代码:
<?php
$rates_set = get_rates();
while ($rates = mysql_fetch_array($rates_set)) {
?>
<table width="110%" border="0" cellspacing="5" cellpadding="5">
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="col">Rates</th>
<th align="center" valign="middle" bgcolor="#EBEBEB" scope="col">money in</th>
<th align="center" valign="middle" bgcolor="#EBEBEB" scope="col">money Out</th>
</tr>
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="row">cost</th>
<td align="center" valign="middle">£<?php echo "{$rates['labour']} "; ?></td>
<td align="center" valign="middle">£<?php echo "{$rates['material']}"; ?></td>
</tr>
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="row">cost/th>
<td align="center" valign="middle">£<?php echo "{$rates['money']}"; ?></td>
<td align="center" valign="middle">£<?php echo "{$rates['expense']}"; ?></td>
</tr>
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="row">Overnight</th>
<td align="center" valign="middle">£<?php echo "{$rates['charges']}"; ?></td>
<td align="center" valign="middle">£<?php echo "{$rates['fees']}"; ?></td>
</tr>
</table>
<?php } ?>
希望有人可以提供帮助。谢谢。
答案 0 :(得分:0)
您可以循环显示 $ rates 数组中的值,如果为空,则指定默认值:
$rates_set = get_rates();
while ($rates = mysql_fetch_array($rates_set)) {
// Set defaults
foreach($rates as $key => $value)
{
if(strlen(trim($value)) == 0)
{
// Assign default
$rates[$key] = 'Ask Me';
}
}
?>
使用此方法需要进行一些调整,例如如何确定值为“空”......但实质上,这将完成工作。
另一个选项是使用三元运算符在标记内本地处理它:
<td align="center" valign="middle">£
<?php isset($rates['money']) ? $rates['money'] : 'Ask Me'; ?>
</td>
答案 1 :(得分:0)
试试这个,
<?php echo isset($rates['fees'])?"{$rates['fees']}":"ask me"; ?>
答案 2 :(得分:0)
您可以使用此
<?php
$rates_set = get_rates();
if(mysql_num_rows($rates_set)<1) {
echo "Ask me";
}else{
while ($rates = mysql_fetch_array($rates_set)) {
//your code
}
}
答案 3 :(得分:0)
<?php
/* Use This */
$rates_set = get_rates();
if (mysql_num_rows($rates_set)>0) {
while ($rates = mysql_fetch_array($rates_set)) {
?>
<table width="110%" border="0" cellspacing="5" cellpadding="5">
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="col">Rates</th>
<th align="center" valign="middle" bgcolor="#EBEBEB" scope="col">money in</th>
<th align="center" valign="middle" bgcolor="#EBEBEB" scope="col">money Out</th>
</tr>
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="row">cost</th>
<td align="center" valign="middle">£<?php echo "{$rates['labour']} "; ?></td>
<td align="center" valign="middle">£<?php echo "{$rates['material']}"; ?></td>
</tr>
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="row">cost/th>
<td align="center" valign="middle">£<?php echo "{$rates['money']}"; ?></td>
<td align="center" valign="middle">£<?php echo "{$rates['expense']}"; ?></td>
</tr>
<tr>
<th align="left" valign="middle" bgcolor="#EBEBEB" scope="row">Overnight</th>
<td align="center" valign="middle">£<?php echo "{$rates['charges']}"; ?></td>
<td align="center" valign="middle">£<?php echo "{$rates['fees']}"; ?></td>
</tr>
</table>
<?php }
} else {
echo 'Ask me';
}
?>
答案 4 :(得分:-1)
<?php echo ( (!empty($rates['labour'])) ? $rates['labour'] : 'Default Text'); ?>
这是你在找什么?
修改:
改变循环的顶部,如下所示:
while ($rates = mysql_fetch_array($rates_set)) {
if (empty($rates_set)) continue;