PHP: функция для построения любого результата запроса в таблице - PullRequest
1 голос
/ 10 марта 2011

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

        echo "<table border='1'>";
            echo "<tr><td align='center' colspan='6'><b>All ".$catDesc." CD's</b></td></tr>";   

            while ($row = mysql_fetch_array($result)){
                echo "<tr bgcolor='#fff'>
                        <td>".$row['catDesc']."</td>
                        <td>".$row['CDTitle']."</td>
                        <td>".$row['CDYear']."</td>
                        <td>".$row['artistName']."</td>
                        <td>£".$row['CDPrice']."</td>
                        <td>".$row['PubName'].", ".$row['location']."</td>
                    </tr>";
            }
        echo "</table>";

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

Спасибо за любой совет или код, которым вы хотели бы поделиться.

Jonny

1 Ответ

4 голосов
/ 10 марта 2011

В цикле while вы можете перебирать переменную $ row и каждый раз создавать новый элемент td:

while($row = mysql_fetch_assoc($result))
{
    echo "<tr bgcolor='#fff'>";

    foreach($row AS $key => $value)
    {
         echo "<td>$value</td>";
    }

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