2011-10-19 164 views
0

我有一個關於如何自動創建個人php頁面的問題。自動創建php頁面

我已經創建了一個名爲catalog.php的頁面。

在catalog.php,mySQL的查詢將發生,查詢:

$link = mysql_connect("localhost", "root", ""); 
mysql_select_db("photodb", $link); 
$sql = "SELECT id, title, caption, comments, imagelink, year FROM photo"; 

然後這個查詢將循環和通過側顯示在catalog.php側的內容:

<ul class="grid"> 
<?php while ($row = mysql_fetch_assoc($result)) 
    { ?> 
     <li> 
      <p class="image"><a href="?"><img src="getImage.php?id=<?php echo $row['id']; ?>" alt="" width="175" height="200" /></a></p> 
      <p class="name"><?php echo $row['title']; ?></p> 
      <p class="year"><?php echo $row['year']; ?></p> 
     </li> 
     <?php } // while 
?> 
</ul> 

其中類=「網格」將排列所有查詢的數據,並顯示圖像,標題和年份。

但是,我需要的一個要求是,只要我點擊這些圖像中的任何一個,就應該鏈接到它自己的php頁面(individual.php),以顯示詳細的圖像,標題,標題和作者的評論。一種改進方案如下:

  Title 
IMAGE  Caption 

      Author's comments 

一個例子:

  Picture of bridge 
IMAGE  This image was taken in paris 

      Low Shuttle Speed 

在上面,圖像,標題,標題,作者的評論在同一個數據庫「photodb」被發現在同一個表「的照片「

我在這裏的問題如下:

  1. 有沒有一種方法來創建這些頁面奧波atically?原因是,如果我手動創建它們,我會很難,因爲我的數據庫有超過100個條目。

  2. 在catalogue.php中看到的<a href="">標記中,值應該是什麼?

  3. 我已經有這樣一個「individual.php」頁面的模板。他結構的是一個例子如下:

    <body>

    <p class="title">

    London Bridge</p>

    <p class="caption">

    Image taken in summer 2009<br /><br /></p>

    <p class="image">

    <img border="0" class="floatleft" src="imagelink" width="250" height="400" />

    Low Shuttle Speed

    </p>

    </body>

我怎樣才能改變這種結構,以滿足我的要求嗎?

四。這樣的「individual.php」網址可以重新命名爲具有唯一ID的其他內容嗎?數據庫中的每個圖像都有自己的唯一ID。

五。我已經在catalog.php中查詢過數據庫。我可以以某種方式重用這個查詢individual.php?

如果你想知道,getimage.php如下:

<?php 

$id = $_GET['id']; 
// do some validation here to ensure id is safe 

$link = mysql_connect("localhost", "root", ""); 
mysql_select_db("photodb", $link); 
$sql = "SELECT imagelink FROM photo WHERE id=$id"; 
$result = mysql_query($sql, $link); 
$row = mysql_fetch_assoc($result); 
mysql_close($link); 

header("Content-type: image/jpeg"); 
echo file_get_contents($row['imagelink']); 

?> 

閱讀我的問題,非常感謝。

回答

1

您的最後一段代碼基本上回答了您的問題 - 您將創建另一個頁面並通過URL向其傳遞一個變量($_GET)。因此,您的網址可能看起來像「individual.php?id = 25」,這會拉動圖像ID爲'25'。在這個例子中,$_GET['id']將是'25'。

我也注意到你正在使用「root」用戶進行MySQL連接。我會強烈建議反對。

http://www.1stwebdesigner.com/tutorials/getting-started-php-dynamic-content/

http://www.greensql.com/articles/mysql-security-best-practices

+0

謝謝!我自己混了起來,沒有意識到我自己解決了這個問題 – exxcellent

0

參照@Nathan裝載儀。我也會用

mysql_real_escape_string() 

顯然是爲了防止mySQL攻擊。從上面的一些代碼判斷,我猜你的新的或「OLDISH」的weby複製和粘貼編碼器?

這些功能將幫助你,並幫助你學習..很容易做到這一點... so..yes ..你可以使用文件功能。

fopen()函數 參見附錄男,FCLOSE(),與fgets(),的fread(),的fwrite()的fsockopen(),文件(),file_exists(),is_readable(),stream_set_timeout(),POPEN ()和stream_context_create()。