Вот этот код выводит табл. традиционным способом:
$res = mysql_list_fields($dbName, $table_name);
while($row = mysql_fetch_array($dates)) {
echo "<tr>";
for($i = 0; $i < mysql_num_fields($res); $i++) {
echo "<td class=c_cell>";
echo $row[$i];
echo "</td>";
}
echo "</tr>";
}
А вот как вывести записи по столбцам - не могу сообразить...
Спустя 17 минут, 52 секунды (13.10.2007 - 08:24) vasa_c написал(а):
Считать результат в двухмерный массив, потом в двойном цикле вывести его по столбцам.
Спустя 4 минуты, 48 секунд (13.10.2007 - 08:29) wfire написал(а):
Да, общий принцип мне понятен, конкретная реализация не получается... Запутался с циклами... :-)
Спустя 28 минут, 12 секунд (13.10.2007 - 08:57) vasa_c написал(а):
Код
print '<table>';
for ($y = 0; $y < [количество полей в одной записи — высота таблицы]; $y++) {
print '<tr>';
for ($x = 0; $x < [количество записей — ширина таблицы]; $x++) {
print '<td>'.mysql_result($res, $x, $y).'</td>';
}
print '</tr>';
}
print '</table>';
for ($y = 0; $y < [количество полей в одной записи — высота таблицы]; $y++) {
print '<tr>';
for ($x = 0; $x < [количество записей — ширина таблицы]; $x++) {
print '<td>'.mysql_result($res, $x, $y).'</td>';
}
print '</tr>';
}
print '</table>';
Спустя 12 минут, 17 секунд (13.10.2007 - 09:09) wfire написал(а):
Вот что у меня получается:
$dates = mysql_query("SELECT * FROM $table_name", $dbc);
global $dbName;
$res = mysql_list_fields($dbName, $table_name);
echo "<table border='0' cellspacing='0' cellpadding='0' border='0'><tr><td bgcolor='#616161'>";
echo "<table width='100%' cellspacing='1' cellpadding='1' border='0'>";
for($y = 0; $y < mysql_num_fields($res); $y++) {
echo "<tr>";
for($x = 0; $x < mysql_num_rows($res); $x++) {
echo "<td class=c_cell>".mysql_result($dates, $x, $y)."</td>";
}
echo "</tr>";
}
echo "</tr></table></td></tr></table>";
И ничего не выводит в результате... Где может быть ошибка?
$dates = mysql_query("SELECT * FROM $table_name", $dbc);
global $dbName;
$res = mysql_list_fields($dbName, $table_name);
echo "<table border='0' cellspacing='0' cellpadding='0' border='0'><tr><td bgcolor='#616161'>";
echo "<table width='100%' cellspacing='1' cellpadding='1' border='0'>";
for($y = 0; $y < mysql_num_fields($res); $y++) {
echo "<tr>";
for($x = 0; $x < mysql_num_rows($res); $x++) {
echo "<td class=c_cell>".mysql_result($dates, $x, $y)."</td>";
}
echo "</tr>";
}
echo "</tr></table></td></tr></table>";
И ничего не выводит в результате... Где может быть ошибка?
Спустя 5 минут, 39 секунд (13.10.2007 - 09:15) wfire написал(а):
всё, нашел сам:
mysql_num_rows($res) -> mysql_num_rows($dates)
работает :-)
спасибо огромное :-)
mysql_num_rows($res) -> mysql_num_rows($dates)
работает :-)
спасибо огромное :-)
Спустя 9 минут, 12 секунд (13.10.2007 - 09:24) wfire написал(а):
Теперь, правда, другая проблема возникла - надо слева приделать вертикальный столбик - заголовок полей. А русские названия полей хранятся в другой табличке... Здесь у меня пока даже мыслей нет... Как это можно сделать?
Спустя 3 часа, 32 минуты, 57 секунд (13.10.2007 - 12:57) emp написал(а):
Считать из другой таблицы и записать результат в тот же массив.
Спустя 3 часа, 30 минут, 38 секунд (13.10.2007 - 16:28) wfire написал(а):
$res = mysql_list_fields($dbName, $table_name);
А что, разве в этот массив можно что-то добавлять/удалять?
Каким образом?
А что, разве в этот массив можно что-то добавлять/удалять?
Каким образом?
_____________