-1

データベースから値を取得して値を表示しますが、値を表示して空のメッセージを表示したい場合は、while ループに値がない場合はメッセージを出力します。
これが私のコードです。誰か助けてください。

  /* database link */
  require_once '../db.php';
  $query = "SELECT id,first_name FROM ajax_user";
  $result = mysql_query($query,$connection) or die('Could connect !');     
  /* loop */
  while ($row = mysql_fetch_array($result)) {               
        if($row['first_name']):                    
             echo $row['first_name']; /* no problem print those values */               
        else:               
             /* here is the problem, message doesn't print if (ajax_user) */
             /* table is empty */
             echo 'no value your database !!';     
        endif;            
   }
4

1 に答える 1

0

データベース メッセージの no 値を while ループの外に移動する必要があります。フェッチが行を返さない場合、while 条件が false であるため、コードはループ全体をスキップします。

このようなもの...

  /* database link */
  require_once '../db.php';
  $query = "SELECT id,first_name FROM ajax_user";
  $result = mysql_query($query,$connection) or die('Could connect !');  

  $row = mysql_fetch_array($result);

  if ($row):
    do  {               
        if($row['first_name']):                    
             echo $row['first_name'];                
        endif;            
     } while ($row = mysql_fetch_array($result))
  else:
     echo 'no value your database !!';     
  endif;

警告: 私は PHP をあまり使用しないため、ここでの正確な構文は完全ではない可能性があります (PHP の専門家は、必要に応じて私の回答を編集してください)。ただし、制御フローは必要なことを行う必要があります。

于 2012-04-24T18:47:10.653 に答える