таблица эхо php с циклом while


Я создаю таблицу и хочу, чтобы она была выложена определенным образом, и мне нужно извлечь данные из базы данных. Я пытаюсь настроить его так, чтобы в нем были имена пользователей в верхнем примере...

 Jim     Chris     Allen    Rick
 7       8          4         5

Мой код выглядит так, и я возился с ним в течение нескольких часов и не могу понять, почему я не могу настроить его так, как я хочу. Любая помощь будет признательна. Это цикл времени.

   while ($pickresults= mysql_fetch_assoc($picksquery)) {
//first row                         
    echo '<th> '.$pickresults['username'].' </th> ';  
        echo ' <td> '.$pickresults['firstgame'].' </td> '; } 
Author: animuson, 2013-02-28

4 answers

Во-первых, вы должны изучить HTML-код для таблиц. Ваш код помещает заголовок таблицы (th) рядом с обычным элементом столбца (td). Вам нужно сначала просмотреть заголовки, а затем выполнить цикл следующей строки по элементам столбца или построить строки до echo.

$headers = $col = "";
while($pickresults= mysql_fetch_assoc($picksquery)){
    $headers .= "<th> {$pickresults['username']} </th>";
    $col .= "<td> {$pickresults['firstgame']} </td>";
}

echo "<table><tr>$headers</tr><tr>$col</tr></table>";
 3
Author: UnholyRanger, 2013-02-28 16:16:25

Ваша структура создает TH, затем TD, а затем TH, а затем TD и т. Д.

Это не то, как вы создаете таблицу, сначала вам нужно сделать четыре TH, а затем вы можете сделать четыре TD.

Редактировать: Марко Д предоставил код, чтобы объяснить, что я имею в виду.

 0
Author: James, 2013-02-28 16:05:28

Сначала соберите заголовок и тело таблицы, а затем выведите их. То, как вы это делали, html был таким, я думаю, легко понять, что не так с html

<th>name</th>
<td>value></td>
<th>another name</th>
<td>another value</td>

Что вам нужно, так это:

$td = '';
$th = '';
while ($pickresults= mysql_fetch_assoc($picksquery)) {                      
    $th .= '<th> '.$pickresults['username'].' </th> ';  
    $td .= '<td> '.$pickresults['firstgame'].' </td> ';
}
echo '<table><tr>' . $th . '</tr><tr>' . $td . '</tr>' . '</table>';
 0
Author: Marko D, 2013-02-28 16:11:28

Вам нужно записать все имена пользователей в <th>-теги. Я бы сначала поместил его в массив, а из массива в таблицу...

while ($pickresults= mysql_fetch_assoc($picksquery)) {

    $picked[]=$pickresults;

}

echo "<table><tr>"; // create table and 1st row

foreach ($picked as $pick) {

     echo "<th>{$pick['username']}</th>"; // create 1st line headers

}

echo "</tr><tr>"; // close 1st row and open 2nd

foreach ($picked as $pick) {

    echo "<td>{$pick['firstgame']}</td>"; // create 2nd line...

}

echo "</tr></table>"; // close 2nd row and table
 0
Author: michi, 2013-02-28 16:12:51