私のカレンダーは、書かれているとおりに正常に機能しますが、同じ日に別のイベントを追加すると、データベースに記録されている最初のイベントのみが表示されます。同じ日に複数のイベントを表示できる必要があります。
コード内で for/next ループと while ループを使用して、データベースから情報を抽出してみました。コードの記述どおりに機能するものはありません。このリンクには、書かれたとおりの仕事カレンダーが表示されます: Grims World Blog これは私のコードです:
SQL クエリが正しく、$events が有効な結果を返す場合は、次を使用します:
$events
php ドキュメント によると、mysqli_fetch_assoc 関数は結果セットからデータ行をフェッチし、それを連想配列として返します。この関数への後続の各呼び出しでは、結果セットの次の行 (行がない場合は null) が返されるため、while() ループを使用して結果セットをループする必要があります。 (結果はありますが...これを行うと)。
ループを使用して結果セットをループする必要があります。 (結果はありますが...これを行うと)。
mysqli_num_rows 組み込み関数を使用して結果があるかどうかを確認します。特定のカレンダー日付にイベントがない場合は、結果をループする必要がないため、スキップできます。
組み込み関数を使用して結果があるかどうかを確認します。特定のカレンダー日付にイベントがない場合は、結果をループする必要がないため、スキップできます。
リーリー
NOTE - 一般的なベスト プラクティスと一貫性を目的として、$events 変数を $results に変更しましたが、技術的な観点からは、これが事実であると言う必要があります。
変数を
に変更しましたが、技術的な観点からは、これが事実であると言う必要があります。
Also - SQL (Documentation) で ORDER BY 句を使用して、結果セット内のイベントを時系列に並べることを検討してください。 Also - SQL クエリには、より安全な Prepared Statements の使用を検討してください。
) で
SQL クエリが正しく、
リーリー$events
が有効な結果を返す場合は、次を使用します:php ドキュメント によると、mysqli_fetch_assoc 関数は結果セットからデータ行をフェッチし、それを連想配列として返します。この関数への後続の各呼び出しでは、結果セットの次の行 (行がない場合は null) が返されるため、while()
コードをさらに改善するには、まずループを使用して結果セットをループする必要があります。 (結果はありますが...これを行うと)。
mysqli_num_rows
コードは次のようになります:組み込み関数を使用して結果があるかどうかを確認します。特定のカレンダー日付にイベントがない場合は、結果をループする必要がないため、スキップできます。
リーリー
NOTE - 一般的なベスト プラクティスと一貫性を目的として、$events
変数を
$resultsに変更しましたが、技術的な観点からは、これが事実であると言う必要があります。
Also - SQL (Documentation
) で
ORDER BY 句を使用して、結果セット内のイベントを時系列に並べることを検討してください。Also - SQL クエリには、より安全な Prepared Statements の使用を検討してください。