![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
以下のようにしてみたのですが「データはありません」という文章が何度も(何行も)表示されてしまいました。
while($test = mysql_fetch_array($sql, MYSQL_ASSOC)){
$name = $test[name];
if($cnt > 0){
echo "データはありません";
echo '<br>';
}
elseif(empty($name)){
echo "データはありません";
echo '<br>';
}
else{
$name = $name.'<br>';
}
}
whileで繰り返した結果、すべての$nameが「$cnt > 0」か「empty」の場合だけ、「データはありません」と一回だけ表示したいのですが、どのようにしたらいいでしょうか?
No.2ベストアンサー
- 回答日時:
>while($test = mysql_fetch_array($sql, MYSQL_ASSOC)){
>
>$name = $test[name];
このwhileループ内で変化するのは、$test(配列)と$name($test['name'])だけですよね?$cntは何も変化しませんが・・・
>whileで繰り返した結果、
というのであれば、
$cnt = 0; // 件数カウンタを初期化
while($test = mysql_fetch_array($sql, MYSQL_ASSOC)){
$name = $test['name']; // nameは引用符で括ること!
if (empty($name)) { continue; } // 空文字列は読み飛ばす
// $nameを表示する部分は見当たらなかったけど
// 書くならここに
$cnt++; // カウンタ加算
}
if ($cnt == 0) { print "データはありません<br />"; }
でしょう(やむなくmysql関数のまま書きましたが、当然書き替えてくださいね)。
なお、$test['name']を表示する必要がないなら、列nameが空文字列以外という条件(where)のSQL文にして、mysql_num_rowsで結果セットの行数で判断した方が手っ取り早いです。
どうもありがとうございます。
お蔭様で無事に動くことができました。
また、「引用符で括ること」や「mysql_num_rowsでの方法」など、他の点にもアドバイスして頂きましてありがとうございました。
No.1
- 回答日時:
公式リファレンスに例示されているのに...。
質問立てる前に、せめてリファレンスぐらいは読みましょう。
少なくともリファレンスを読んでいれば、mysql_fetch_arrayは使いませんよね。
http://php.net/manual/ja/function.mysql-fetch-ar …
この回答への補足
アドバイスありがとうございます。
mysql_fetch_arrayを使うべきではないのは「PHP 5.5.0 で非推奨になりました。将来のバージョンで削除される予定です。」ということなのですね。知りませんでした。ありがとうございました。
また、公式リファレンスの例示の方はちょっと分かりませんでした。。。
申し訳ありませんが具体的にはどの部分になるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- MySQL MySQLに登録した内容を更新する時の、textareaの使い方 1 2022/07/11 18:20
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP php ログイン 1 2022/11/01 00:24
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP 画像が表示出来ません。 1 2023/02/02 16:30
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPからHTMLへの変数の受け...
-
openCVのトラックバーについて
-
phpで変数を使ってcopyできない
-
配列について教えて下さい。
-
サブフォルダ内の全てのテキス...
-
$_REQUESTの意味を教えて下さい
-
VBA で、スペースを含むファイ...
-
Smartyのテンプレート内で、連...
-
if文のもっとスマートな書き方
-
POSTの項目に追加
-
PHP FTPサーバへの画像アップロ...
-
laravelを利用してコントロール...
-
ラジオボタンをsessionで使いたい
-
PHPでURLにジャンプするには?
-
検索時の選択内容を保持する方法
-
PHPの関数実行
-
入力フォーム→確認画面→送信画...
-
PHPのエラーの解消法について教...
-
JavaScript変数をPHPへ渡す
-
PHP で画面の一部だけを変えたい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
POSTの項目に追加
-
ファイル名を変更してアップロ...
-
PHPで入力フォームでデータを確...
-
PHP MySql 画像を取得
-
foreachがうまく動かない
-
PHPからHTMLへの変数の受け...
-
phpで変数を使ってcopyできない
-
サブフォルダ内の全てのテキス...
-
UPDATEできない
-
php+mysqlでの重複チェックにつ...
-
phpでショッピングカート機能を...
-
fputcsv()で1レコード1行になる...
-
配列の値
-
openCVのトラックバーについて
-
if文のなかで
-
sqlite文字列を格納、出力
-
$a = ( $b == $c ) ? $d、 この...
-
$_REQUESTの意味を教えて下さい
おすすめ情報