2011-11-25 53 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编号.. –

相关问题