Следующий код генерирует результат (одна запись) в вертикальной таблице, есть ли способ конвертировать в горизонтальный, как с хорошим стилем. Кроме того, если возможно, чтобы получить определенный столбец во всплывающем окне с использованием параметра в запросе, используя jquery или CSS
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
<?
$table = $_GET["table"];
$lon = $_GET["lon"];
$lat = $_GET["lat"];
$sql = "select
st_geometrytype(geom) as geometrytype,
st_area(geom) as area, *
from $table
where
st_contains(
geom,
st_transform(
st_setsrid(
st_makepoint($lon, $lat),
4326),
2276))";
$db = pg_connect("dbname=db user=user password=pass");
$result = pg_query($db, $sql);
while( $row = pg_fetch_assoc($result) )
{
print "<table>";
foreach ( array_keys($row) as $column_name )
{
if ( $column_name <> "geom" )
{
print "<tr>";
print "<th>" . $column_name . "</th>";
print "<td>" . $row[$column_name] . "</td>";
print "</tr>";
}
}
print "</table>";
}
?>
</body>
</html>
пока я использую этот CSS для создания таблицы.
th
{
text-align:right;
padding-right:0.5em;
}
td
{
text-align:center;
}
большое спасибо..
Вы печатаете tr
в то же время, когда цикл работает, поэтому он будет делать tr
и, очевидно, будет вертикальным, чтобы сделать его горизонтальным, ваш цикл будет таким:
while( $row = pg_fetch_assoc($result) )
{
print "<table>";
print "<tr>";
foreach ( array_keys($row) as $column )
{
if ( $column_name <> "geom" )
{
print "<th>" . $column . "</th>";
}
}
print "</tr>";
print "<tr>"; <-- this one here opening tag
foreach ( array_keys($row) as $column_name )
{
if ( $column_name <> "geom" )
{
print "<td>" . $row[$column_name] . "</td>";
}
}
print "</tr>"; <-- this one here closing tag
print "</table>";
}
код для отображения 8 элементов по горизонтали.
<table>
<?if($c==8){echo "<tr >";$c=0; }<td> ?>
// your elements
<? echo "</td>";
$c++;?>
</tr>
</table>
print "<table>";
добавитьprint <tr><th>Column Name 1</th><th>Column Name 2</th></tr>
Тогда ваш цикл будет следовать этому. Если вам нужны имена строк слева, просто поменяйте местами буквы tr, td и th.