2016-04-07 1 views
0

私は作成されたMySQLデータベースを持っており、テーブルを追加しています(テーブル名は「エントリ」です)。また、「all-entries.php」というページを作成し、このページをデータベースに接続してデータを取得しました。 1つのこと以外はすべて正常に動作します...データベーステーブルに新しいエントリを追加して "all-entries.php"に移動すると、追加したばかりの追加が表示されません。最新のアップデートを表示するには、ブラウザのキャッシュをクリアするか、ブラウザのリロードボタンを押す必要があります。この問題の原因は何ですか?PHP MySQLのフェッチ結果がキャッシュされ、ページをリフレッシュする必要があります。

$query=mysql_query("SELECT * FROM entries"); 
while($row=mysql_fetch_array($query)){ 
echo $row['name']; 
} 
+0

あなたが使用したmysql_ *拡張機能は、PHPバージョン7から**削除**されていますか? – SpacePhoenix

+0

ねえ、そうです。しかし、私はPHP 5.4を使用しています(私の選択ではありませんbtw:P) – izulito

+0

私は解決策を見つけました。ページがキャッシュされないようにするには、このコード行を追加するだけでした。'header("キャッシュコントロール:no-cache、no-store、must-revalidate "); // HTTP 1.1.'私はまだそれがどうしてキャッシュされているのか分かりません。誰かが私にこのことを説明していただければ幸いです。 – izulito

答えて

0

あなたがobiously、ページを更新する必要があります。ここでは

は「全entries.php」ページのコードです。 あなたはajaxで作業していますか? ajaxの場合、ページをリロードする必要はありません。ページをリロードせずにデータが更新されます。

私たちは回答と正しい情報を提供できるように、もう少し情報を提供してください。 :)

+0

お返事ありがとうございました。そこでここにシナリオがあります: テーブルに新しいエントリを追加しました。私はPHP myAdminに行くと私はそこに(問題が追加の部分ではないことを確認するために)確認することができます。 "all-entries.php"ページを開くと、今追加したエントリは表示されません。私はそれを表示するためにページを再びリフレッシュする必要があります。 ありがとうございます:) – izulito

+0

また、新しいエントリをテーブルに追加した後、ブラウザキャッシュをクリアしてから(「all-entries.php」ページを読み込む前でも)、「すべてのエントリを読み込みます。 php "、私はそこに新しいエントリを見ることができます。 理想的には、私が最初に "all-entries.php"を開いたときに追加したエントリを表示したい(再ロードする必要はありません)。 – izulito

+0

あなたはデータベースのデータを変更するたびにそれを必要とします。それは自動的にページに表示されますか?あなたはそれを再ロードせずに?もしそれが当てはまるなら、あなたはajaxを使うことをお勧めします。 ajaxに関する少しの研究をしています。それは難しくありません:) – lol

関連する問題