0

以前にこの質問をしましたが、さらにサポートが必要です。これを読んで、最後に正確な詳細を提供します。

ポッドキャスト用に構築した静的 Web サイト (www.noformatpodcast.com) を Dreamweaver の動的 Web サイト (現在はテスト サーバー上) に変換することに成功しました。Dreamweaver の [データベース]、[バインディング]、および [サーバー ビヘイビア] タブを使用して、PHP や MySQL をまったく学習することなく、これを実行できました。私が把握できない唯一のことは、ページを作成するためにそのリンクに関する情報を使用してリンクをクリックしたときにページを動的に生成する方法です。たとえば、index.php ページに動的に生成されたエピソードのグリッドがあります。たとえば、誰かがエピソード 55 のリンクをクリックすると、エピソード ページ (作成済み) が読み込まれ、日付、タイトル、宣伝文などのエピソード 55 の情報が入力されるようにします。エピソード 43,

私が得た答えは両方とも、$_GET の使い方を学ぶ必要があることを教えてくれました。w3schools.com でその基本を確認しましたが、まだ多くの助けが必要です。これは、index.php ページにエピソードのグリッドを作成するコードの動的繰り返しブロックです。

<div id="post_container">
    <?php do { ?>
        <div id="post">
            <a href="episode.php" onmouseout="this.style.opacity=1;" onmouseover="this.style.opacity=0.7;">
                <h2>
                    <span class="darkblock"><?php echo $row_Episodes['post_id']; ?> | <?php echo $row_Episodes['ep_title']; ?>
                    </span>
                </h2>
                <img src="ep_artwork/ep_<?php echo $row_Episodes['post_id']; ?>.jpg"  width="260" height="260" />
            </a>
        </div>
    <?php } while ($row_Episodes = mysql_fetch_assoc($Episodes)); ?>
</div>

基本的に、episode.php ページへのリンクである大きな正方形の画像がたくさんあります。データも動的に表示するように episode.php ページをコーディングしました。

<div id="summary">
    <div id="artwork">
        <img src="ep_<?php echo $row_Episodes['post_id']; ?>.jpg" width="260" height="260" />
    </div>
    <div id="ep_title">Ep. <?php echo $row_Episodes['post_id']; ?> | <?php echo $row_Episodes['ep_title']; ?>
    </div>
    <p class="episode_date"><?php echo $row_Episodes['ep_date']; ?>
    </p>
    <p><?php echo $row_Episodes['ep_blurb']; ?>
    </p>
</div>
<audio src="ep_media/ep_<?php echo $row_Episodes['post_id']; ?>.m4a" controls="controls">
</audio>

私が欠けているのは、これら 2 つのことを結び付けるコードです。現状では、エピソードをクリックすると、episode.php ページに移動し、最初のエピソードの情報が表示されます (データベース内の最初のエピソードであるため)。クリックしたエピソードの情報を表示する必要があります。そして、それには $_GET の使用が含まれると思います。誰かが私が含める必要があるコードとそれをどこに含める必要があるかを正確に教えてもらえますか? 私がここに投稿したことは十分ですか?または、MySQL データベースについても詳しく知る必要がありますか?

4

2 に答える 2

0

これを行うには、apache rewrite module このモジュールを使用すると、URLを書き換えて、指定したスクリプトにリクエストを転送することができます。

.htaccess以下のファイルを使用してURLを書き換える方法を参照してください。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]

これで、を解析してからデータベース$_SERVER['REQUEST_URI']と対話して、必要なコンテンツをフェッチするだけです。

于 2012-11-03T08:14:17.247 に答える
0

多くの解決策がありますが、最初のページ(グリッドページまたはindex.php)で、次のようにリンクを作成するのが最も簡単だと思います。

<div id="post_container">
    <?php do { ?>
        <div id="post">
            <a href="episode.php?episodeID=<?php echo $row_Episodes['post_id'] ?>" onmouseout="this.style.opacity=1;" onmouseover="this.style.opacity=0.7;">
                <h2>
                    <span class="darkblock"><?php echo $row_Episodes['post_id']; ?> | <?php echo $row_Episodes['ep_title']; ?>
                    </span>
                </h2>
                <img src="ep_artwork/ep_<?php echo $row_Episodes['post_id']; ?>.jpg"  width="260" height="260" />
            </a>
        </div>
    <?php } while ($row_Episodes = mysql_fetch_assoc($Episodes)); ?>
</div>

次に、episode.phpページで、get変数を使用して読み取る必要があります

$_GET['episodeID'];

推奨されるコードは次のとおりです。

$postID = $_GET['episodeID'];

// WRITE CODE TO GET CORRESPONDING TITLE, DATE, BLURP, AND OTHER INFO FROM THE DATABASE FOR THE SUBMITTED POST ID
// ASSUME THIS TITLE IS SAVED TO $postTitle, $postDate, $postBlurp, ...etc.

<div id="summary">
    <div id="artwork">
        <img src="ep_<?php echo $postID; ?>.jpg" width="260" height="260" />
    </div>
    <div id="ep_title">Ep. <?php echo $$postID; ?> | <?php echo $postTitle; ?>
    </div>
    <p class="episode_date"><?php echo $postTitle; ?>
    </p>
    <p><?php echo $postBlurp; ?>
    </p>
</div>
<audio src="ep_media/ep_<?php echo $postID; ?>.m4a" controls="controls">
</audio>

コードも安全にする必要があります。しかし、これがその背後にある考え方です。

私のアドバイスは、人生を楽にするためにphpとmysqlを学ぶことです。

乾杯。

于 2012-11-03T08:14:34.607 に答える