2012-11-03 63 views
0

我以前問過這個問題,但需要更多的幫助。閱讀這個,然後我會在最後提供確切的細節。如何使用PHP MySQL根據鏈接點擊動態生成一個網頁

我已經成功將我爲我的播客(www.noformatpodcast.com)構建的靜態網站轉換爲Dreamweaver中的動態網站(目前在測試服務器上)。在Dreamweaver中使用「數據庫」,「綁定」和「服務器行爲」選項卡,我完全無需學習PHP或MySQL。唯一不能解決的問題是如何使用鏈接信息創建頁面時點擊某個鏈接時動態生成頁面。例如,我在index.php頁面上有一個動態生成劇集的網格。當有人點擊第55集的鏈接時,我希望它加載劇集頁面(我已經創建),並填寫第55集中的信息,例如日期,標題,街景等。如果有人點擊鏈接第43集,我想要加載和動態填充第43集中的信息頁面。這可能與Dreamweaver的GUI有關,還是我需要長大並學會實際編碼?

我得到的答案都告訴我我需要學習如何使用$ _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> 

我缺乏的是這兩樣東西粘合在一起的代碼。我的意思是,就目前而言,如果您點擊任何情節,它只會將您帶到episode.php頁面並顯示第一集的信息(導致它是數據庫中的第一集)。我需要讓它顯示點擊的EPISODE的信息。我想這涉及到使用$ _GET。有人能告訴我什麼代碼我需要包括,以及在哪裏包括它?我在這裏張貼了足夠的嗎?或者您是否需要了解更多關於我的MySQL數據庫的信息?

+0

您有兩種選擇:自己學習PHP/HTML/MySQL並創建您的網站(如果您在特定主題上遇到問題,歡迎您提問),或者您付錢給知道如何操作的人。 Stackoverflow不是免費的社區服務,用於構建您的網站... – tamasgal

回答

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> 

然後在你的插曲。

$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> 

Y:PHP頁面,你應該使用

$_GET['episodeID']; 

一個建議的代碼將讀取GET變量你也必須確保你的代碼安全。但這是它背後的想法。

我的建議是學習PHP和MySQL,使生活更輕鬆。

乾杯。

+0

謝謝。這正是我所需要的。我現在回過頭來向所有幫助過Stack Overflow的人表示感謝,因爲我知道如何點擊綠色複選標記。哈哈 – wetjosh

0

要做到這一點使用apache rewrite module 此模塊將幫助您重寫URL這然後將把您的要求到指定的腳本。

查看下面如何使用.htaccess文件來重寫網址。

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

現在,所有你需要做的是解析$_SERVER['REQUEST_URI'],然後用數據庫交互,以獲取所需的內容。

相關問題