0

我正在尝试将我的数据导出到 excel 并且它工作正常。但我想更改格式或在 php 中显示,以便我也可以在 excel 中获得相同的表格格式。

这是我的代码

while ($row = mysql_fetch_assoc($result)) {
echo "<table width='100%' id='ReportTable'>";
echo "<tr>";

    echo "<td width='40%'>".$row['listingsdbelements_field_name']."</td>";
   echo "<td>".$row['listingsdbelements_field_value']."</td>";
    echo "</tr>";

}
echo "</table>";

现在它显示在两列中。但我希望其中的数据$row['listingsdbelements_field_name']显示在每一列中,例如:它包含 name1、name2、name3.... 这些应该像这样显示

<tr>
    <td>name1</td>
    <td>name2</td> 
    <td>name3....</td>
</tr>

并且与这些相关的值应显示在每个值下。

有人可以帮助我吗?

*已编辑* *

echo "<table width='100%' id='ReportTable'>";
while ($row = mysql_fetch_assoc($result)) {

$var = explode('.', $row['listingsdbelements_field_name']);
print_r ($var);
foreach ($var as $value)
{

echo "<tr>";
    echo "<td width='40%'>".$value."</td>"; 
}
echo "</tr>";
$var1 = explode('.',$row['listingsdbelements_field_value']);
foreach($var1 as $value1)
{
    echo "<tr>";
    echo "<td>" .$value1. "</td>";

}
echo "</tr>";
}
echo "</table>";

<table width='100%' id='ReportTable'><tr><td width='40%'>price</td></tr><tr><td>1295000</td></tr><tr><td width='40%'>state</td></tr><tr><td>IL</td></tr><tr><td width='40%'>city</td></tr><tr><td>Chicago</td></tr><tr><td width='40%'>address</td></tr><tr><td>1027 West Chicago Avenue</td></tr></table>
4

2 回答 2

0

我认为这是您正在尝试的:

echo "<table width='100%' id='ReportTable'>";                                                                       
while ($row = mysql_fetch_assoc($result)) {                                                                         
    echo "<tr>";                                                                                                    

    $var = explode('.', $row['listingsdbelements_field_name']);                                                     
    foreach ($var as $value)                                                                                        
    {                                                                                                               
        echo "<td width='40%'>".$value."</td>";                                                                     
    }                                                                                                               
    echo "</tr>";                                                                                                   
    echo "<tr>";                                                                                                    
    $var1 = explode('.',$row['listingsdbelements_field_value']);                                                    
    foreach($var1 as $value1)                                                                                       
    {                                                                                                               
        echo "<td>" .$value1. "</td>";                                                                              
    }                                                                                                               
    echo "</tr>";                                                                                                   
}                                                                                                                   
echo "</table>";     

您遇到的问题是打开<tr>内部循环的内部,但将它们关闭在外部,因此您得到的<tr>不仅仅是</tr>

于 2013-09-26T13:18:11.833 回答
0

这应该这样做:

echo "<table width='100%' id='ReportTable'>";
while ($row = mysql_fetch_assoc($result)) {
    echo "<tr>";
    echo "<td width='40%'>".$row['listingsdbelements_field_name']."</td>";
    echo "</tr><tr>";
    echo "<td>".$row['listingsdbelements_field_value']."</td>";
    echo "</tr>";

}
echo "</table>";
于 2013-09-26T11:54:39.677 回答