2014-02-06 57 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