2013-07-02 5 views
0

У меня есть страница с результатами поиска, в которой мне удалось динамически включать кнопку твитта для каждого элемента результата.Tweet from dynamic Ссылка

Проблема заключается в том, что при нажатии кнопки твитта она только чиритирует заголовок страницы, а не элемент результата поиска.

Вы можете мне помочь?

Вот мой код:

<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]' _not_ правильно интерполируется в одинарных кавычках. Отмените их, чтобы использовать double во внешней строке и одиночный атрибут data-url =. –

ответ

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

Привет маной, ваш ответ был прав, если я хотел, чтобы «результат» был в твиттере. То, что я на самом деле имел в виду, это ссылка на страницу показа стихов с использованием динамического идентификатора. Вы можете помочь? Благодарю. – adeoba

+0

Эй, я не понимаю, что вы хотите, вы можете ввести 'data-text' то, что вы, например, значение' data-text = ", которое вы хотите здесь", если вы хотите поместить ссылку, вы можете сделать это 'echo '';' –

+0

Спасибо, manoj, вот что я сделал: echo ""; Он работает, но единственная проблема заключается в том, как отобразить заголовок страницы? Благодарю. – adeoba

Смежные вопросы