• ベストアンサー

ループについて

MYSQLで whileのループを使ってるのですが、 MySQLのwhile(*1)の中にMySQLのwhile(*2)がまたあって *1が2回されなければならないのに1回しかループされていません。 なんででしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。 えっと…差し支えない程度で構わないので、ソースコードを書いていただいてもよろしいでしょうか? 結論から書くと「一回しかループしないような記述になっている」のだろうと思われますが、「二回ループさせるつもりなのになぜ一回しかループしないのか」を読み取るには、どんなソースなのかが重要になってきてしまうので。

suiku
質問者

お礼

すみません。 whileの()の中に $array = mysql_fetch_array($query) (*1) $array2 = mysql_fetch_array($query) (*2) をしていて *2の$queryを$query2とするのを忘れていました。 単純なミスでお騒がせしてすみません。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ありがちなパターン。 カウンタに同じ変数をつかっていて、 while(*1)の条件がtrueになっているからとか? それにしてもwhileを2重にしてる時点で sqlを大量に発行しているようですので もっと効率的なやり方を目指した方が よいかもしれませんが・・・。

suiku
質問者

お礼

こちらのプログラム記載ミスでお騒がせしすみませんでした。

suiku
質問者

補足

*1のループ中の*2は*1の内容によってSQL構文が違う為、2重にするしかできません。 ほかの方法があれば お教え御願いします。