2011-07-01 28 views
1

我从来没有在php中编写任何程序,并且在10年内没有接触过html。我可以使用一些帮助。我正在查询使用php的postgresql数据库。我想用这样的标题显示在表格格式我的查询结果:php查询数据库打印到带有标题的html表格

first_name last_name employee_id 
tom   jones  111 
bob   barker  112 
bill   davis  113 

示例代码,我试图去正常工作:

echo("<table border=2"); 
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { 
    foreach ($line as $col_value => $row_value) { 
     echo("<tr><td>$col_value</td><td>$row_value</td></tr>\n"); 
    } 
} 
echo("</table>"); 

我的格式被显示如下:

first_name tom 
last_name jones 
employee_id 111 
first_name bob 
last_name barker 
employee_id 112 
first_name bill 
last_name davis 
employee_id 113 

正如你所看到的,我将我的查询存储在关联数组中。

感谢您的任何帮助。

+0

你可能想看看[Symfony的(http://symfony.com/),如果你一个编程背景,但不熟悉PHP。 Symfony2与Doctrine2结合是一个*优秀的* PHP框架。 –

+0

再看一遍,我的答案解决了那里的html格式问题,但数据仍然会像您的示例一样显示。我看到了那个失踪者,并认为这是......我的错误。德克的答案看起来像它会给你什么,除了列头,你将不得不手动处理。 – Jason

回答

1
echo("<table border=2><tr><td>first_name</td><td>last_name</td><td>employee_id</td></tr>"); 
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { 
    echo("<tr>"); 
    foreach ($line as $col_value => $row_value) { 
     echo("<td>$row_value</td>"); 
    } 
    echo("</tr>\n"); 
} 
echo("</table>"); 

或者:

echo("<table border=2><tr><td>first_name</td><td>last_name</td><td>employee_id</td></tr>"); 
while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { 
    echo("<tr><td>".$line[0]."</td><td>".$line[1]."</td><td>".$line[2]."</td></tr>\n"); 
} 
echo("</table>"); 
+0

感谢一群非常接近我所寻找的。你对我如何动态创建表列标题有什么想法,而不是对它们进行硬编码? – spaghettiwestern

+0

'SELECT COLUMN_NAME FROM information_schema。\'COLUMNS \'C WHERE table_name ='<您的表名>'? – Dirk

3

看起来你可能会丢失在开幕表标记支架:

尝试修改此:

echo("<table border=2"); 

这样:

echo('<table border="2">'); 

,看看有没有什么帮助。

+0

我希望那样容易; )。 – spaghettiwestern

0
<?php 
echo "<table width=100% border="1">"; 
while ($row = mysql_fetch_array($result)) 
{ 
    $id= $row["id"]; 
    $f_name= $row["f_name"]; 
    echo "<tr><td>"; 
    echo $id; 
    echo"</td>"; 
    echo"<td>"; 
    echo $f_name; 
    echo"</tr>"; 
} 
echo"</table>"; 
?> 

尝试这可能有助于