データベースのエントリを使用してテーブルの行と列を設定しています。しかし、mysqli_fetch_array() を 2 回使用して SQL によって返されたデータにアクセスできません。 mysqli の結果を複数回ループする必要があります。これは機能しません:
mysqli_fetch_array()
同じ結果に mysqli_fetch_array を 2 回適用するにはどうすればよいですか?
mysqli_fetch_array
データ操作は出力から常に分離する必要があります。
最初にデータを選択します:
PHP 5.3 以降では、明示的なループの代わりに fetch_all() を使用できることに注意してください。
fetch_all()
その後、必要なだけ何度でも使用してください:
while ループは必要ありません。また、mysqli_fetch_array() を使用する必要もまったくありません。
while
mysqli_result オブジェクト自体を複数回ループするだけです。 Traversable インターフェイスを実装し、foreach での使用を可能にします。
mysqli_result
Traversable
foreach
ただし、データベース ロジックを表示ロジックから分離する必要があります。これを実現するには、データベース ロジックで fetch_all(MYSQLI_ASSOC) を使用して、すべてのレコードを配列に取得するのが最善です。
fetch_all(MYSQLI_ASSOC)
すべてのデータを配列に抽出すると、必要なだけ配列をループできます。
データ操作は出力から常に分離する必要があります。
最初にデータを選択します:
リーリーPHP 5.3 以降では、明示的なループの代わりに
リーリーfetch_all()
を使用できることに注意してください。その後、必要なだけ何度でも使用してください:
リーリーwhile
ループは必要ありません。また、mysqli_fetch_array()
を使用する必要もまったくありません。mysqli_result
オブジェクト自体を複数回ループするだけです。Traversable
インターフェイスを実装し、foreach
での使用を可能にします。ただし、データベース ロジックを表示ロジックから分離する必要があります。これを実現するには、データベース ロジックで
fetch_all(MYSQLI_ASSOC)
を使用して、すべてのレコードを配列に取得するのが最善です。すべてのデータを配列に抽出すると、必要なだけ配列をループできます。
リーリー