使用foreach创建HTML表

时间:2014-11-05 16:06:29

标签: php

我正在尝试使用数据库的结果构建表。

global $wpdb;
$results = $wpdb->get_results( 'SELECT * FROM wp_prijavljeniupis ',OBJECT);

然后我试图以这种方式制作表格

echo '<table>';
    echo '<thead>';
    echo  '<tr>';
    echo '<th>UID<th>';
    echo '<th>ID<th>';
    echo '<th>Ime<th>';
    echo '<th>Prezime<th>';
    echo '<th>JMBG<th>';
    echo '<th>Telefon<th>';
    echo '<th>Adresa<th>';
    echo '<th>BrojUlice<th>';
    echo '<th>PttBroj<th>';
    echo '<th>Grad<th>';
    echo '<th>Drzava<th>';
    echo '<th>Grad<th>';
    echo '<th>Odsek<th>';
    echo '<th>NacinPlacanja<th>';
    echo '<th>NacinSkolovanja<th>';
    echo '<th>kampanja<th>';
    echo  '</tr>';
    echo '<thead>';
    echo '<tbody>';

    foreach ( $results as $result ) 
    {    

        echo '<td>'.$result->UID.'</td>';
        echo '<td>'.$result->ID.'</td>';
        echo '<td>'.$result->Ime.'</td>';
        echo '<td>'.$result->Prezime.'</td>';
        echo '<td>'.$result->JMBG.'</td>';
        echo '<td>'.$result->Telefon.'</td>';
        echo '<td>'.$result->Adresa.'</td>';
        echo '<td>'.$result->BrojUlice.'</td>';
        echo '<td>'.$result->PttBroj.'</td>';
        echo '<td>'.$result->Grad.'</td>';
        echo '<td>'.$result->Drzava.'</td>';
        echo '<td>'.$result->Odsek.'</td>';
        echo '<td>'.$result->NacinPlacanja.'</td>';
        echo '<td>'.$result->NacinSkolovanja.'</td>';
        echo '<td>'.$result->Kampanja.'</td>';



    }

     echo '<tbody>';

     echo '</table>';

我不确定如何在我的tbody部分实现tr,因为我有循环,我尝试不同的选项,但没有成功

2 个答案:

答案 0 :(得分:0)

您在循环开始时忘了<tr>,在最后忘记了</tr>

echo '<table>';
echo '<thead>';
echo  '<tr>';
echo '<th>UID<th>';
echo '<th>ID<th>';
echo '<th>Ime<th>';
echo '<th>Prezime<th>';
echo '<th>JMBG<th>';
echo '<th>Telefon<th>';
echo '<th>Adresa<th>';
echo '<th>BrojUlice<th>';
echo '<th>PttBroj<th>';
echo '<th>Grad<th>';
echo '<th>Drzava<th>';
echo '<th>Grad<th>';
echo '<th>Odsek<th>';
echo '<th>NacinPlacanja<th>';
echo '<th>NacinSkolovanja<th>';
echo '<th>kampanja<th>';
echo  '</tr>';
echo '<thead>';
echo '<tbody>';


foreach ( $results as $result ) 
{    
    echo '<tr>';
    echo '<td>'.$result->UID.'</td>';
    echo '<td>'.$result->ID.'</td>';
    echo '<td>'.$result->Ime.'</td>';
    echo '<td>'.$result->Prezime.'</td>';
    echo '<td>'.$result->JMBG.'</td>';
    echo '<td>'.$result->Telefon.'</td>';
    echo '<td>'.$result->Adresa.'</td>';
    echo '<td>'.$result->BrojUlice.'</td>';
    echo '<td>'.$result->PttBroj.'</td>';
    echo '<td>'.$result->Grad.'</td>';
    echo '<td>'.$result->Drzava.'</td>';
    echo '<td>'.$result->Odsek.'</td>';
    echo '<td>'.$result->NacinPlacanja.'</td>';
    echo '<td>'.$result->NacinSkolovanja.'</td>';
    echo '<td>'.$result->Kampanja.'</td>';
    echo '</tr>';


}

 echo '</tbody>';

 echo '</table>';

答案 1 :(得分:0)

您在表头中添加了额外的列 echo&#39; Grad&#39 ;; 表头(thead)和table body(tbody)标签的列数应该相等,那么只有你的表格才能很好地对齐。

试试这段代码

echo '<thead>';
echo  '<tr>';
echo '<th>UID</th>';
echo '<th>ID</th>';
echo '<th>Ime</th>';
echo '<th>Prezime</th>';
echo '<th>JMBG</th>';
echo '<th>Telefon</th>';
echo '<th>Adresa</th>';
echo '<th>BrojUlice</th>';
echo '<th>PttBroj</th>';
echo '<th>Grad</th>';
echo '<th>Drzava</th>';
echo '<th>Odsek</th>';
echo '<th>NacinPlacanja</th>';
echo '<th>NacinSkolovanja</th>';
echo '<th>kampanja</th>';
echo  '</tr>';
echo '</thead>';
echo '<tbody>';

foreach ( $results as $result ) 
{    
    echo "<tr>";
    echo '<td>'.$result->UID.'</td>';
    echo '<td>'.$result->ID.'</td>';
    echo '<td>'.$result->Ime.'</td>';
    echo '<td>'.$result->Prezime.'</td>';
    echo '<td>'.$result->JMBG.'</td>';
    echo '<td>'.$result->Telefon.'</td>';
    echo '<td>'.$result->Adresa.'</td>';
    echo '<td>'.$result->BrojUlice.'</td>';
    echo '<td>'.$result->PttBroj.'</td>';
    echo '<td>'.$result->Grad.'</td>';
    echo '<td>'.$result->Drzava.'</td>';
    echo '<td>'.$result->Odsek.'</td>';
    echo '<td>'.$result->NacinPlacanja.'</td>';
    echo '<td>'.$result->NacinSkolovanja.'</td>';
    echo '<td>'.$result->Kampanja.'</td>';
    echo "</tr>"


}
  echo '</tbody>';
 echo '</table>';