Отображение вывода MySQL в PHP в виде строк, а не столбцов - PullRequest
0 голосов
/ 04 июня 2019

Добрый день всем:)

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

Я читал о поворотах и ​​транспонировании, но не был уверен, что является наиболее подходящим способом преобразования выходных данных на веб-странице.Подскажите пожалуйста, что лучше всего использовать?Похоже, что это проще сделать на PHP, чем на MySQL?

Я использую стандартную почтовую форму, PDO подключения, isset, thead, php echo td и th и т. Д.

Myтекущий код:

    <!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta http-equiv="x-ua-compatible" content="ie=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <title></title>

    <link rel="stylesheet" href="css/style.css" />
  </head>

<body>

<h1>Find people</h1>

    <form method="post">
        <label for="people">Enter person</label>
        <input type="text" id="people" name="people">
        <input type="submit" name="submit" value="View Results">

    </form>

<?php

//error_reporting(-1);
//ini_set('display_errors', 'On');

if (isset($_POST['submit'])) {
  try {
    require "./config.php";
    require "./common.php";

    $connection = new PDO($dsn, $username, $password, $options);

    $sql = "SELECT *
    FROM Basics
    WHERE UniqueID = :people";

    $people = $_POST['people'];

    $statement = $connection->prepare($sql);
    $statement->bindParam(':people', $people, PDO::PARAM_STR);
    $statement->execute();

    $result = $statement->fetchAll();
  } catch(PDOException $error) {
    echo $sql . "<br>" . $error->getMessage();
  }
}
?>


<?php
if (isset($_POST['submit'])) {
  if ($result && $statement->rowCount() > 0) { ?>
    <h2>Results</h2>

    <table>
<?php echo '<table border="1">';?>
      <thead>
<tr>
  <th>Field 1</th>
  <th>Field 2</th>
  <th>Field 3</th>
</tr>
      </thead>
      <tbody>
  <?php foreach ($result as $row) { ?>
      <tr>
<td><?php echo escape($row["Field 1"]); ?></td>
<td><?php echo escape($row["Field 2"]); ?></td>
<td><?php echo escape($row["Field 3"]); ?></td>


      </tr>
    <?php } ?>
      </tbody>
  </table>
  <?php } else { ?>
     <br>No results found for <?php echo escape($_POST['people']); ?>, as the data has likely not been added yet.
  <?php }
} ?>

<!--
<?php if (isset($_POST['submit']) && $statement) { ?>
  <?php echo escape($_POST['people']); ?> successfully found.
<?php } ?>
-->

  </body>
</html>

Мой текущий выход:

enter image description here

Пример текущего выхода:

enter image description here

Пример вывода мне бы хотелось:

enter image description here

Аналогично этому примеру, который я нашел (может быть втаблица или нет, как показано ниже):

enter image description here

Обновление редактирования:

Похоже, мне просто нужно было использоватьУл и Ли!

<ul>
<li><b>Name:</b> <?php echo escape($row["Name"]); ?></li>
</ul>

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Похоже, мне просто нужно было использовать ul и li!

<ul>
<li><b>Name:</b> <?php echo escape($row["Name"]); ?></li>
</ul>
0 голосов
/ 04 июня 2019

Я бы использовал array_walk () для цикла по строкам и внутри этого цикла, запуска tr-тега, цикла по значениям текущей строки, вывода их в виде td-элементов, выхода из цикла td, вывода закрытияtr-tag и выход из tr-цикла.Не то причудливое решение, а простое.

...