0

このコードでelseまたはifステートメントを表示する方法を見つけようとしています。これにより、レコード/値がmysqlテーブルに存在しない場合、「ask me」のようなテキストがエコーされます。

コードは次のとおりです。

<?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 }  ?>

誰かが助けてくれることを願っています。ありがとうございました。

4

5 に答える 5

0

これを試して、

<?php echo isset($rates['fees'])?"{$rates['fees']}":"ask me"; ?>
于 2012-10-16T17:08:45.230 に答える
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
      }
    }
于 2012-10-16T17:09:14.013 に答える
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';
      }
   } 
?>

値が「空」であると判断する方法など、このメソッドを微調整する必要がありますが、基本的にはこれで作業が完了します。

もう 1 つのオプションは、三項演算子を使用してマークアップ内でローカルに処理することです。

<td align="center" valign="middle">£
    <?php isset($rates['money']) ? $rates['money'] : 'Ask Me'; ?>
</td>
于 2012-10-16T17:07:55.233 に答える
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';

}
  ?>
于 2012-10-16T18:07:10.357 に答える
-1
<?php echo ( (!empty($rates['labour'])) ? $rates['labour'] : 'Default Text'); ?>

それはあなたが探しているものですか?

編集:

ループの上部を次のように変更します。

while ($rates = mysql_fetch_array($rates_set)) {
  if (empty($rates_set)) continue;
于 2012-10-16T17:08:34.280 に答える