2014-02-06 84 views
0

我很新的PHP & MySQL數據庫,並想知道如何創建一個從數據庫中拉出的文本內容的隨機超鏈接。PHP:從MySQL數據庫創建動態超鏈接

這是一個博客類型的網站,我想使段落中的某些詞涉及不同的網站:這是可能的嗎?

我知道我可以做這樣的事情:

<?php 
$sql = mysql_query("SELECT * FROM testblog ORDER BY id DESC"); 
while($row = mysql_fetch_assoc($sql)) { 
$content = $row['content']; 
$href = $row['href']; 
?> 
    <p> <a href="<?php echo $href; ?>"> <?php echo $content; ?> </a> </p> 

上面的格式問題是整款是一個超鏈接,而我更喜歡個人的話,有時候我可能甚至不需要指網站。

任何幫助或只是指着我在正確的直接將不勝感激,謝謝!

+1

然後將'$ row ['content']'字符串分開,並在鏈接中包含所需的任何單詞。基本上你現在擁有的是什麼,但是一個字一個字的基礎上,而不是一個「全部」的基礎。 –

+0

您必須對要顯示的文本有某種標準。前X個字符,單詞?第一句話? – Dave

+0

看這個http://www.php.net/manual/en/function.sprintf.php –

回答

0

我認爲你要找的不是PHP,而是實際上是一個Javascript的東西。

您需要在頁面主體中定位特定單詞並將其替換爲鏈接。您可以使用JKavascript替換功能。

$("#myDiv").html().replace(/facebook/g, '<a href="http://www.facebook.com">Facebook</a>'); 

然後,對所有要添加的鏈接重複此操作。該g意味着它將選擇器在div id="myDiv"

所有鏈接如果你想爲一個隨機單詞,你可以做在PHP字的數組,然後一個使用rand(),然後選擇做回顯到各部分Javascript。榜樣

PHP

$word = array('facebook', 'twitter', 'john', 'mary'); // array of words 

$i = rand(0, count($word)-1); // generate random number size of the array 
$randword = "$word[$i]"; // set variable equal to which random word was chosen */ 

的JavaScript

$("#myDiv").html().replace(/<?php echo $ranword; ?>/g, '<a href="http://www.thiswebsite.com"><?php echo $ranword; ?></a>'); 

或者是這樣的。

+1

你也可以在PHP中完成同樣的事情。 –

+0

@FabienWarniez真的嗎?怎麼樣? –

+0

@AdamBrown我看到了邏輯,但我還沒有熟悉JavaScript。我認爲根據你的例子,這可能是解決方案。只是好奇,是沒有辦法輸入文本和代碼到數據庫前。 '$ row ['content']'但是當它顯示在網頁上時,它顯示了所有的文本和沒有代碼? – user3272514