2013-03-10 56 views
0

概述PHP回声表

我存储在相关产品MySql数据库的一些数据。我试图检索这些数据并使用HTML表格在页面上显示它。 PHP和MySql进行得很顺利,所有的数据都被检索到,但是它以非常混乱的方式显示。

这里是我的布局:

enter image description here

什么我的目标实现是进一步划分结果表中添加更多的列行以使数据更具可读性

东西喜欢这个;

enter image description here

代码:PHP,MySQL的& HTML:

<?php 

    session_start(); 

    include('connect_mysql.php'); 


    $product_name = 'product_name'; 
    $product_qua = 'product_qua'; 
    $product_price = 'product_price'; 
    $product_image = 'product_image'; 
    $product_des = 'product_des'; 


$sql = mysql_query("SELECT * FROM products"); 

echo "<table id='display'>"; 


while($rows = mysql_fetch_array($sql)) 
{ 
    echo"<br>"; 
    echo"<tr><td>"; 
    echo"$rows[$product_name]<br></td>"; 

    echo"<td><img src=$rows[$product_image] height='200px' width='200px'><br></td>"; 
    echo"<td>Avalible: $rows[$product_qua]<br></td>"; 
    echo"<td>Price: $rows[$product_price]<br></td>"; 
    echo"<td>Description: $rows[$product_des]<br></td>";  
    echo"</tr>"; 

} 

echo "</table>"; 
?> 

CSS负责这一部分:

#display{ 
    float:left; 
    border: 5px solid black; 
    margin-left:100px; 


} 
+0

您需要添加边框大概也填充到您的TDS [编辑:在他的回答说什么krike。除此之外,你有一个“
”错位。 – Theraot 2013-03-10 08:42:45

回答

5

首先不使用PHP呼应这么多的HTML ,而不是像这样做

<?php 
    session_start(); 

    include('connect_mysql.php'); 

    $product_name = 'product_name'; 
    $product_qua = 'product_qua'; 
    $product_price = 'product_price'; 
    $product_image = 'product_image'; 
    $product_des = 'product_des'; 


$sql = mysql_query("SELECT * FROM products"); ?> 

<table id='display'> 
    <?php 
     while($rows = mysql_fetch_array($sql)) { 
    ?> 
     <tr><td><?php echo $rows[$product_name]; ?></td> 
     <!-- And so on--> 
    <?php 
     } 
    ?> 
</table> 

其次通过看你的图像化,它好像你需要一个边界为您表,以便使用

table, td { 
    border: 1px solid #000000; 
} 
+0

你的建议,确定THX应用你所建议的技术,它似乎工作,但我的问题是如何受益我的代码:P希望它不是一个蹩脚的问题,呵呵 – Tomazi 2013-03-10 09:01:54

+0

我想说它使你的代码更容易在一个体面的文本阅读编辑。您还可以通过简化<?php echo $ var; ?>到 2013-03-10 09:16:29

1

添加以下的CSS在您的表格单元格应用边框:

#display td{ border: 2px solid red; } 

还可以选择添加您#display {:

border-collapse: collapse; 
6

只需添加一些填充或边框的表格单元格:

table#display td{ 
    border: 1px solid black; 
    padding:0 8px; 

} 

编辑:你可以做什么,以及:

<table id='display'> 
<?php while($rows = mysql_fetch_array($sql)): ?> 
    <!-- <br> <- why a break? it's not in the correct spot anyway --> 
<tr><td> 
<?php echo $rows[$product_name]; ?><br> 
</td> 
<td> - </td> 
<td><img src="<?php echo $rows[$product_image]; ?>" height='200px' width='200px'><br></td> 
<td> - </td> 
<td>Avalible: <?php echo $rows[$product_qua]; ?><br></td> 
<td> - </td>  
<td>Price: <?php echo $rows[$product_price]; ?><br></td> 
<td> - </td> 
<td>Description: <?php echo $rows[$product_des]; ?><br></td> 
</tr> 
<?php endwhile; ?> 
</table> 

提示:我更喜欢使用,同时/ ENDWHILE;而不是在向用户显示数据时使用方括号。

+0

好的你的答案似乎解决了我的问题谢谢v.much – Tomazi 2013-03-10 09:02:39

+0

最后一个快速问题...说我想分开每个项目所有在一起不只是一个“行”这怎么可能达到 – Tomazi 2013-03-10 09:04:12

+0

他们是已经分开。每件物品都在他自己的牢房里。现在唯一的分离是视觉上的。通过一行或者你可以在你的数据之间增加一个td并添加一个分隔字符。 (将更新我的答案) – Christophe 2013-03-10 11:33:55