2011-05-16 85 views
0

對於某些產品在我的數據庫,產品的名稱將得到 <a href=" RIGHT HERE "> </a>不尋常的問題都被截斷

將通過HTML視覺方面正確地顯示中間斷開。但是,鏈接有時會縮短名稱。

有沒有人有任何想法,爲什麼這可能是?

我似乎甚至不能想到問題可能是什麼?

  $result = mysql_query($query); 
      while($row = mysql_fetch_row($result)) 
       { 


     $namelink = str_replace(" ","_",$row[1]); 



print <<< PRODUCT_RESULTS 
    <table cellpadding="5" cellspacing="5" id="vProducts"> 
     <tr> 
       <td><img src="$row[3]"/></td> 
       <td id="productTitle"><a href="/view_product1.php?name=$namelink&model=$row[0]">$row[1]</a><br /> 
       <li>Model: $row[0]</li> 
       </td> 
     </tr> 
    </table> 
    <div style="width:749px; height:1px; background:#CCC;"></div> 

PRODUCT_RESULTS; 
} 

表結構:

CREATE TABLE `products` (
    `modelNumber` varchar(100) NOT NULL DEFAULT '', 
    `name` varchar(400) DEFAULT NULL, 
    `shortDescription` varchar(500) DEFAULT NULL, 
    `image` varchar(400) DEFAULT NULL, 
    `largeImage` varchar(400) DEFAULT NULL, 
    `url` varchar(400) DEFAULT NULL 
) 
+1

部分代碼和表格結構會不錯 – austinbv 2011-05-16 02:56:43

+0

@austinbv檢查編輯 – 2011-05-16 02:59:46

+0

@RPM表結構? – austinbv 2011-05-16 03:03:34

回答

1

這可能聽起來很瘋狂,但是你有>,"或其他字符會導致該條目中的HTML無效嗎?當你使用「查看源代碼」時會發生什麼?它仍然被切斷?另外,我不知道你是否意識到這一點,但是你正在對這些變量進行雙向查找。這不僅更慢,而且更難調試。而不是這樣做:

   <td id="productTitle"> 
        <a href="/view_product1.php?name=$namelink&model=$row[0]"> 
         $row[1] 
        </a> 
        <br /> 
        <li>Model: $row[0]</li> 

在打印之前將變量設置爲等於每個數組索引,然後輸出該結果。

您也可以擺脫打印電話並簡單地使用?> <?php。顯然,一旦你這樣做了,你需要手動輸出變量的內容,但它可以說是更清晰和更清晰。

+0

這裏使用數字指標的原因是OP使用了數字指標。 – cwallenpoole 2012-04-23 18:24:12

1

變化$row[3]$row[image]$row[0]$row[modelNumber]等。 如果沒有工作,我需要看到的$查詢。

編輯: Krinkle(評論如下),建議使用$row["image"]$row["modelNumber"]這是一個更好的做法。

+1

不要將它們更改爲'$ row [image]',而是更改爲'$ row [「image」]'(注意引號),否則您將引用全局常量。 – Krinkle 2012-04-21 02:28:12

+0

感謝您的評論,並且使用引號是一種更好的校正方法,正如'$ row [「image」]'中的一樣,但是我非常肯定'$ row [image]'會在沒有問題的情況下運行(會拋出一個注意雖然),如果它不被用作常量。 – 0xAli 2012-04-30 13:11:38