конвертировать php sql Результат из вертикальной в горизонтальную

0

Следующий код генерирует результат (одна запись) в вертикальной таблице, есть ли способ конвертировать в горизонтальный, как с хорошим стилем. Кроме того, если возможно, чтобы получить определенный столбец во всплывающем окне с использованием параметра в запросе, используя 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;
}

большое спасибо..

Теги:

2 ответа

1
Лучший ответ

Вы печатаете 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>";
}
  • 0
    привет, спасибо за вашу помощь, теперь я получаю все результаты в одной строке (заголовок) Мне нужны заголовок столбца и строка для данных.
  • 0
    под print "<table>"; добавить print <tr><th>Column Name 1</th><th>Column Name 2</th></tr> Тогда ваш цикл будет следовать этому. Если вам нужны имена строк слева, просто поменяйте местами буквы tr, td и th.
Показать ещё 4 комментария
0

код для отображения 8 элементов по горизонтали.

   <table>
   <?if($c==8){echo "<tr >";$c=0;  }<td> ?>
   // your elements 
   <? echo "</td>";
   $c++;?>
   </tr>
  </table>
  • 0
    Большое спасибо, Пиюш, решение RockStar прекрасно сработало со мной ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню