$colの結果は5件です。
次のfor文を流すと、cnt=1の場合の
$SyaNo . $cnt = $col2['SyaName'];
が
print $SyaNo . $cnt
によって表示されますが、
cnt=1のみの結果がループします。
cnt=2、cnt=3、cnt=4の結果はどうしたら表示されるでしょうか?
どうしてループしてしまうのでしょうか?
---------
while($col = mysql_fetch_array($result1)){
for($cnt=1; $cnt<=4; $cnt++){
print $cnt . " ";
print $col[SyaNo.$cnt] . " ";
if ($col[SyaNo.$cnt] != ""){
$sql = "select SyaName from Syain where SyaNo = " . $col[SyaNo.$cnt];
$result2 = mysql_query($sql,$link);
$col2 = mysql_fetch_array($result2);
$SyaNo . $cnt = $col2['SyaName'];
print $SyaNo . $cnt;
}
}
-------------
$body .= "<td>" . $SyaNo1 . "</td>\n";
$body .= "<td>" . $SyaNo2 . "</td>\n";
$body .= "<td>" . $SyaNo3 . "</td>\n";
$body .= "<td>" . $SyaNo4 . "</td>\n";
No.3
- 回答日時:
>どうしてループしてしまうのでしょうか?
ループしているのではなく、5件実行したいwhileが
一回だけで抜け出してしまっているのではないでしょうか?
(ループしていたらリセットする以外停止しないでしょうから)
本題に戻ります。
2,3,4,5が実行されないのは
while($col = mysql_fetch_array($result1))文の
mysql_fetch_array($result1)が以降の文の実行1回で変更
されている以外あり得ないと思います。
中身が判らないので直し方を書けないのですが、こういう時は
print文等で怪しげなものを1つずつ確認してゆくのが
デバッグの早道(大昔さんざんやりました)と思います。
又
while($col = mysql_fetch_array($result1)){
でも動くとは思いますが、本来はNO1のかたの言われている
while($col == mysql_fetch_array($result1)){
が正解だと思います。
No.2
- 回答日時:
質問者さんがやりたいのは、可変変数を使ってその変数値に値を代入したいということではないですか?
<?php
$SyaNo . $cnt = $col2['SyaName'];
print $SyaNo . $cnt;
?>
ここの部分、
これを
<?php
${$SyaNo.$cnt} = $col2['SyaName'];
print ${$SyaNo.$cnt};
?>
としてみてください。
正しく出力されました!
ありがとうございました。
ただし、${$SyaNo.$cnt} が $SyaNo1であり、
「浅野優斗」という文字の場合、
$body .= "<td>" . $SyaNo1 . "</td>\n";
$body .= "<td>" . $SyaNo2 . "</td>\n";
$body .= "<td>" . $SyaNo3 . "</td>\n";
$body .= "<td>" . $SyaNo4 . "</td>\n";
の、$SyaNo1では、「浅野優斗」と表示されるはずなのですが、
表示されません。
上でセットした値が正しく保持されていないのでしょうか。
それとも、「$SyaNo1」という表記が正しくないのでしょうか?
もし、原因がお分かりでしたら、教えていただけませんでしょうか。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
- Visual Basic(VBA) Dateserialで データ抽出 2 2022/06/26 21:07
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
- PHP PHP ページング データベース 1 2022/06/16 10:30
- Visual Basic(VBA) vbaで色付けされたセルを除外したいのですが 5 2023/01/28 17:22
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) エクセルVBAコピー 2 2022/06/08 21:45
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルに入っているデータと...
-
while文から抜け出せません。。。
-
ループしてしまいます
-
DB(MySQL)から複数行のデータを...
-
stringaddslashes 半角¥が消える
-
PHP+mysqlでSQL文に文字数制限...
-
phpのエラーについてです
-
すいません。
-
MySQLでデータベースにデータin...
-
insert1つの処理でもトランザ...
-
VBAをつかってクエリの情報を抽...
-
PHP&MySQLでの文字列+数列の一...
-
条件が合わなかった場合の処理...
-
実行時エラー3131 FROM 句の構...
-
【至急】MySQLのエラーを解消し...
-
JAVA SQLServerException 列名 ...
-
Accessのテーブルへ複数の主キ...
-
Pro*Cの構文エラー
-
MySQLにHTMLタグを挿入したい
-
OracleからAccessへのインポート
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpのエラーについてです
-
テーブルに入っているデータと...
-
sqlから多次元配列に要素を格納...
-
PHPで絞り込み検索結果の件数を...
-
MySQLのデータを使ってプルダウ...
-
XAMMPが起動しません。
-
mysql_fetch_objectのエラー
-
mysql_resultのエラー
-
CSVをダウンロードさせた際、CS...
-
stringaddslashes 半角¥が消える
-
「mysqlclient」の事が分からな...
-
XAMPPで画面が真っ白になります。
-
会員登録したらメールが送られ...
-
PHP+mysqlでSQL文に文字数制限...
-
変数同士の引き算が出来ない
-
連想二次元配列のUNIXTIMEでの...
-
PHP/MySQL SQLエラーについて。
-
PHPでMySQLのレコードを削除したい
-
すいません。
-
インクルードによる不具合
おすすめ情報