2011-11-25 56 views
1

在下面的php代碼中,我正在獲取從數據庫中購買的物品列表。因爲它存儲爲逗號分隔值,所以它會在while循環中爆炸並取出。作爲一個輸出,我得到了有序的物品清單.. 但我希望水平顯示有序列表。如何在一行中顯示從數據庫值生成的有序列表?

現在的輸出是這樣的:

項目買

  1. 咖啡壺
  2. 洗衣機

例如,輸出應爲:

項目購買了: 1)咖啡機2)洗衣機

請幫助我如何通過列表或任何東西來獲得這種輸出。

<? 
    echo "<strong>Items Bought:</strong>"; 
     echo "<ol>"; 
        $q=mysql_query("select * from lead where id='$ID'"); 
        $rs=mysql_fetch_object($q); 
        $prod_interest = $rs->interested_in; 
        $prod_name = explode(",", $prod_interest); 

        $pname=''; 
        for($i = 0; $i < count($prod_name); $i++){ 

        $prd_name= $prod_name[$i]; 
        //taking the product name for the id 
        $productname=mysql_query("select * from product where id='$prd_name'"); 

        while ($prow=mysql_fetch_object($productname)) 
        { 
       ?> 
       <li value="<? echo $pname=$prow->id;?>"><? echo $pname=$prow->name;?></li> 
       <? 
         } 
        } 
        echo "</ol>"; 
       ?> 
+0

請問有序列表不會自動產生一個垂直列表?然後可以通過CSS來設計樣式。 –

回答

1

我覺得這個問題更是一個HTML的問題,你的LIS可能被懸空狀態,而這就是爲什麼你到左側列表的權利...

編輯:

哦,那你希望這種風格添加到您的網頁:

<style> 
ol li { 
    float: left; 
} 
</style> 

編輯2:

<style> 
ol li { 
    float: left; 
    padding-left: 10px; 
    display: block; 
    list-style-type: decimal; 
} 
</style> 
+0

沒有得到一個正常的垂直有序列表。我希望這是水平顯示..這一次你讓我成爲禮儀!! –

+0

我想我不是唯一一個瞭解你錯誤的人,我們都明白你有東西是水平的,想要垂直,看看所有的評論和答案:PI修正它,看看我的編輯 –

+0

它作爲水平的mathieu ...但它沒有數字..我希望它顯示像1)Item1 2)Item2 ....現在其顯示像Item1Item2Item3 –

0

這聽起來像是一個CSS問題,而不是PHP問題。默認情況下,列表應該垂直顯示,除非你有reset.css或類似的「重置」列表的行爲。

如果你想確保它打印垂直有序列表,這樣做:

<ol class="vertical_ol"> 
    <li>One</li> 
    <li>Two</li> 
    <li>Three</li> 
</ol> 

在你的CSS把這個:

.vertical_ol li { 
    display:block; 
    float:none; 
} 
+0

prod_id的地方編號爲1,2,3的編號它沒有如預期的那樣工作 –

1

這是一個HTML/CSS不是PHP的問題。使用<ol><li>你會得到一個垂直排列的列表。例如:

  1. 項目1個
  2. 項目2

當你希望他們水平,您可以

使用CSS來塊轉換<li>元素融入到一個內聯元素:

echo '<ol>'; 
while ($prow=mysql_fetch_object($productname)) { 
    echo '<li style="display: inline">'; 
    echo $prow->id . ' ' . $prow->name; 
    echo '</li>'; 
} 
echo '</ol>'; 

不使用列表中的所有:

while ($prow=mysql_fetch_object($productname)) { 
    echo $prow->id . ' ' . $prow->name . ' '; 
} 
+0

嗯......好主意Kaai ......但我不希望產品編號在第一個行。我想要根據產品數目1,2,3編號.. –

相關問題