2013-07-02 40 views
0

我有一個搜索結果頁面,我已經設法動態地爲每個結果項目添加鳴叫按鈕。動態鏈接鳴叫

我的問題是,當點擊tweet按鈕時,它只會鳴叫頁面標題而不是搜索結果項目。

你能幫我嗎?

這裏是我的代碼:

<html> 
<font face="arial"> 
<title>Bible Verses Search</title> 
<?php 
// db req 
$db_host="localhost"; 
$db_username="username"; 
$db_password="password"; 
$db_name="dbname"; 
$db_tb_name="tablename"; 
$db_tb_atr_name="line"; 
$db_tb_atr_name2="book"; 
$db_tb_atr_name3="cap"; 
$db_tb_atr_name4="verse"; 

//do search task 


mysql_connect("$db_host","$db_username","$db_password"); 
mysql_select_db("$db_name"); 

$query=mysql_real_escape_string($_GET['query']); 

$query_for_result=mysql_query("SELECT * FROM $db_tb_name WHERE 

$db_tb_atr_name like '%".$query."%' OR $db_tb_atr_name2 like '%".$query."%' 
OR $db_tb_atr_name3 like '%".$query."%' OR $db_tb_atr_name4 like '%".$query."%'"); 

echo "Search Results<ol>"; 

//bible query new section begins 


define ('HOSTNAME', 'localhost'); 
define ('USERNAME', 'username'); 
define ('PASSWORD', 'password'); 
define ('DATABASE_NAME', 'dbname'); 

$db = mysql_connect(HOSTNAME, USERNAME, PASSWORD) or die ('I cannot connect to  
MySQL.'); 

mysql_select_db(DATABASE_NAME); 

$query = "SELECT id,book,cap,verse,line FROM tablename ORDER BY RAND() LIMIT 1 "; 

$result = mysql_query($query); 

$row = mysql_fetch_array($result); 

echo "<center><a href='page25.php?id=$row[id]'>Back</a></center>"; 

//mysql_free_result($result); 
//mysql_close(); 

//new bible query section ends 




while($data_fetch=mysql_fetch_array($query_for_result)) 
{ 
echo "<li>"; 

echo substr($data_fetch[$db_tb_atr_name2], 0,160)," "; 
echo substr($data_fetch[$db_tb_atr_name3], 0,160)," "; 
echo substr($data_fetch[$db_tb_atr_name4], 0,160)," "; 

echo substr($data_fetch[$db_tb_atr_name], 0,160); 

echo '<a href="https://twitter.com/share" class="twitter-share-button" data- 
url="page25.php?id=$row[id]">Tweet</a>'; 


echo "</li><hr/>"; 
} 

echo "<center><a href='page25.php?id=$row[id]'>Back</a></center> "; 

echo "</ol>"; 

//mysql_close(); 
?> 

<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s) 
[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id))  
{js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js'; 
fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> 

</font> 
</html> 
+0

您需要在鏈接字符串上使用雙引號而不是單引號。就像你現在所做的那樣,'$ row [id]'在單引號中沒有被正確插入。將它們反向在外部字符串中使用double,在data-url ='屬性中使用double。 –

回答

0

使用data-text,並把搜索結果中像這樣

echo '<a href="https://twitter.com/share" class="twitter-share-button" data- 
url="page25.php?id=' . $row[id] . '" data-text="' . substr($data_fetch[$db_tb_atr_name], 0,160). '">Tweet</a>'; 

如果你可以把其他值data-text例如data-text="value you want here"

想要把頁面鏈接和標題,你可以這樣做它

echo "<a href='twitter.com/share' class='twitter-share-button' data-url='page25.php?id=$data_fetch[id]' 
    data-text='page25.php?id=$data_fetch[id]\n$data_fetch[$db_tb_atr_name]'>Tweet</a>"; 
+0

嗨馬諾吉,你的回答是正確的,如果我想「結果項目」啾啾。我的意思是使用動態ID鏈接到詩歌顯示頁面。你能幫我嗎?謝謝。 – adeoba

+0

嘿,我不明白你想要什麼,你可以在'data-text'中輸入你想要的'data-text ='值,如果你想放置鏈接,你可以這樣做'echo'';' –

+0

感謝manoj,這就是我所做的:echo「」;它可以工作,但現在唯一的問題是如何讓頁面標題顯示?謝謝。 – adeoba