php
2014-02-17 22 views -1 likes 
-1

我想添加鏈接到通過ajax完成搜索的元素。在search.php中我有下面的代碼,但顯然它不工作。添加鏈接到while循環中的數據庫稱爲元素

while($row = mysql_fetch_array($res_old)) 
{ 
    echo "<li style='border-bottom: 1px solid #A5ACB2; padding:5px; margin-left:-40px;margin-right:5px;>"; 
    $productid=$row['productid']; 
    echo "<a href='search.php?productid='$productid'>"; 
    echo $row['brand']; 
    echo "&nbsp"; 
    echo $row['product_name']; 
    echo "&nbsp"; 
    echo $row['short_desc']; 
    echo "&nbsp"; 
    echo "&#8377;"; 
    echo $row['price']; 
    echo "</a>"; 
    echo "<br>"; 
    echo "</li>"; 
} 

任何人都可以對一些爲什麼它不工作? 只是不添加鏈接,結果會很好。

回答

1

這裏的實際問題不是缺少標籤,而是無與倫比的引號..或者說,錯位的引號。

這裏是您當前的開放標籤:

<a href='search.php?productid='$productid'> 

如果你會發現語法高亮,顯然這裏有什麼問題;由於屬性值可以用引號表示,所以實際上在它看到的第一個引號處結束屬性值,從而給出變形標籤。

如果您希望您的代碼工作,你必須要麼逃避這些報價,或做其他事:

<a href='search.php?productid=$productid'> 

舉例來說,上面已經去掉引號,所以現在標籤的正確分析。

當然,這並不是唯一的錯誤:

echo "<li style='border-bottom: 1px solid #A5ACB2; padding:5px; margin-left:-40px;margin-right:5px;>"; 
//                   Right here   ^, this should be an ending single quote. 

在此行中,你永遠不會報價關閉您的樣式屬性,從而搞亂任何以下的HTML。

修正路線如下:

echo "<li style='border-bottom: 1px solid #A5ACB2; padding:5px; margin-left:-40px;margin-right:5px;'>"; 
+0

是的,我得到了錯誤,但刪除沒有任何影響。:( –

+0

@ShanilSoni我錯過了一個,請參閱更正 – Daedalus

+0

我真是太愚蠢了。:( –

0

好了,我不知道這是否是原因,但不是你失蹤後,「產品ID」插值報價之前的搜索平衡報價。 PHP的「?

代碼:

echo "<a href='search.php?productid='$productid'>"; 

可能的解決方案:

echo "<a href=\"search.php?productid='$productid'\">"; 

PS:我沒有太多的PHP知識:)

+0

不,這不可能是一個解決方案。 –

+0

嗯,我只是在在線的php編譯器上試過這個代碼,它提供了一個工作解決方案(即工作鏈接標籤)。也可能有其他一些錯誤。無論如何,似乎你已經明白了。 :) –

相關問題