0

私のウェブサイトは読み込みに時間がかかります.Cake PHPで作成されています.

私のサイトには7つのMySqlクエリがあり、ページをロードすると7つのクエリが実行されるため、5秒から18秒かかり、HTML形式でブラウザに応答を送信し、0.5秒でフルページが表示されます。私は突然フルページショーを意味します。、

私のページには、ヘッダー、メニュー バー、コンテンツ、サイド バー、フッターのような 5 つのセクションがあります。

すべてのセクションが 1 つずつ読み込まれる可能性はありますか?新しい訪問者が来たときのように見えるので、ページの応答は、最初にヘッドが表示され、次にメニュー、次にコンテキスト、次にサイドバーが表示され、最後にフッターが表示されます。

私のドメインの速度は非常に速く、管理パネルは 1 秒で開きますが、ページには時間がかかるため、これを実行したいと考えています。管理パネルは高速ですが、ページが最初のバイトを送信するのに時間がかかります。

ここに簡単なコードがあります、

<body>
<div class="container">

<?php include("head.php"); ?>

<?php include("menu.php"); ?>

<?php include("content.php"); ?>

<?php include("side_bar.php"); ?>

<?php include("footer.php"); ?>
</div>
</body>

これを行うにはどうすればよいですか。最初の head.php ページとその Mysql クエリの実行、およびサーバーの応答がブラウザーに表示されます

次に、2 番目の部分の menu.php ページとその Mysql クエリの実行とサーバーの応答がブラウザーに表示されます。

私が含める他のすべてのページは<body>1つずつ実行され、ブラウザに結果が表示されます

したがって、この decnique を使用すると、訪問者の待ち時間が少なくなり、

ここでAJAXを使用するにはどうすればよいですか、または他の手法を使用できますか?

このテクニックにより、ページの読み込み時間と最初のバイトの応答が減少する可能性があります。

ありがとうございました

4

1 に答える 1

1

あなたのクエリを正しく理解できれば、前のインクルードの結果に基づいて、if ステートメント内にインクルードを配置できませんか?

たとえば、head.phpという名前の mysql クエリを実行する場合$head_result、次のようにすることができます。

if (count($head_result) > 0)
{
    include("menu.php");
}

または似たようなもの

于 2013-10-01T10:57:19.020 に答える