0

そのため、記入済みのフォームの確認ページであるページがあります。SQLステートメントを確認しましたが、正常に動作します。私が抱えている問題は、残りのクエリをダンプせずに結果を出力するように php ループを取得することです。

したがって、私のコードは次のようになります。

$mysql-statement......
$total_rows... etc.

  $i = $total_rows;
    if($i > 1) { 
    echo "i = ". $i. "<br />";

    for($x=1; $x< ($i+1); $x++){
    echo "This is from the for loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />"; 
        mysql_fetch_assoc($rs_myquery);
    }
      }?>

上記の一部はテスト目的であり、一部は私が欲しいものです。主に、この人物が関連付けられている複数のオフィス名を出力したいだけです。基本的に、私は最初のオフィス名だけを取得しており、この人物に関連付けられている次のオフィスの場所にソートされていません。同じオフィスの場所が繰り返されるだけで、正しい回数だけ追加できます。

do while ループも試してみましたが、何らかの理由でページの残りの部分が壊れています。私はこの 1 つの部分だけをループしていますが、ページの残りの部分には、個人の連絡先情報が表示され、データベースに関連付けられているものは何でも表示されます。念のため、これは私が使用した do while ステートメントです。別のページで実行していますが、このセットアップはそこで機能するため、このページで機能しない理由がわかりません。

    do{
       echo "This is from the do while loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />"; 
    }while($row_rs_myquery = mysql_fetch_assoc($rs_myquery));

私が現在取り組んでいる人物は、その名前で 3 つのオフィスを持っています。したがって、次のような 3 行のコードが出力されるはずです。

    This is from the for loop Office location is St. Paul

    This is from the for loop Office location is New York

    This is from the for loop Office location is Los Angeles

しかし、私が得ているのは、forループを実行した場合です

    This is from the for loop Office location is St. Paul

    This is from the for loop Office location is St. Paul

    This is from the for loop Office location is St. Paul

しかし、私が得ているのは、 do while ループを実行した場合です

    This is from the for loop Office location is St. Paul

これを残りのリクエストの前のどこかに配置すると、確認ページに空白の領域が表示されます。

なぜこれを行うのかについてのアイデアは役に立ちます。前もって感謝します。

4

1 に答える 1

1

do{}while ループの場合、条件は最初の繰り返しの後にのみ設定されます。実行前に変数を設定する while ループだけが必要です。

while($row_rs_myquery = mysql_fetch_assoc($rs_myquery)){
    echo "This is from the do while loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />";
}

if ループを使用する場合 (特に X を使用していないため、while ループの方がはるかにうまく機能しますが、IMO)、変数を使用する前に配列をフェッチする必要があります。

for($x=1; $x<=$total_rows; $x++){
    $row_rs_myquery = mysql_fetch_assoc($rs_myquery);
    echo "This is from the for loop Office location is " .$row_rs_myquery['Office_Name'] ."<br />"; 

}
于 2013-09-04T17:21:17.163 に答える