Как исправить таблицу, вызывающую ошибку «502: Bad Gateway» в PHP - PullRequest
1 голос
/ 30 мая 2019

Я создаю простую базу данных, которая может выполнять основные операции CRUD (создавать, читать, обновлять, удалять), используя php. Я могу завершить создание, и могу видеть результаты, если я напрямую запрашиваю базу данных MySQL в бэкэнде. Но у меня возникли проблемы с отображением таблицы на веб-странице. Вместо этого он отображает ошибку «Bad Gateway», если я пытаюсь отобразить записи базы данных.

Я пытался удалить ссылку на таблицу, в частности

    <?php while ($row = mysqli_fetch_array($results)) { ?>
            <tr>
                <td><?php echo $row['name']; ?></td>...

и веб-страница на внешнем интерфейсе работает нормально. Хотя я могу видеть данные, только если я сделаю запрос к бэкэнду.

    <?php  include('php_code.php'); ?>
    ...
    ...
    ...

    <?php $results = mysqli_query($db, "SELECT * FROM info"); ?>

    <table>
        <thead>
        <tr>
            <th>Name</th>
            <th>Address</th>
            <th>City</th>
            <th colspan="2">Action</th>
        </tr>
        </thead>

        <?php while ($row = mysqli_fetch_array($results)) { ?>
            <tr>
                <td><?php echo $row['name']; ?></td>
                <td><?php echo $row['address']; ?></td>
                <td><?php echo $row['city']; ?></td>
                <td>
                    <a href="test.php?edit=<?php echo $row['id']; ?>" 
    class="edit_btn" >Edit</a>
                </td>
                <td>
                    <a href="php_code.php?del=<?php echo $row['id']; ?>" 
    class="del_btn">Delete</a>
                </td>
            </tr>
        <?php } ?>
    </table>

    <!--in php_code.php--> 
     //to retrieve records
        $select_query = "SELECT * FROM info";
        $result = mysqli_query($db, $select_query);

Я должен видеть таблицу с данными, содержащими имя, адрес и город. Но вместо этого я получаю ошибку 502.

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

вы закрываете операторы php, поэтому не можете получить результат вашего запроса.Не разделяйте части php и просто выводите html как этот

 <?php
    echo " <table>
            <thead>
            <tr>
                <th>Name</th>
                <th>Address</th>
                <th>City</th>
                <th colspan='2'>Action</th>
            </tr>
            </thead> ";
   while ($row = mysqli_fetch_array($results)) { 

                echo "<tr>
                <td>$row['name']</td>
                <td>$row['address']</td>
                <td> $row['city']</td>
                <td>
                <a href='test.php?edit=$row['id']' 
                class='edit_btn' >Edit</a>
                </td>
                <td>
                <a href='php_code.php?del=$row['id']' 
    class='del_btn'>Delete</a>
                </td>
            </tr>";
       }
    echo "</table>";
    ?>
0 голосов
/ 30 мая 2019

Попробуйте это

<?php
  include('php_code.php');
  $results = mysqli_query($db, "SELECT * FROM `info` ");

  $return = <<<HTML
    <table>
        <thead>
        <tr>
          <th>Name</th>
          <th>Address</th>
          <th>City</th>
          <th colspan="2">Action</th>
        </tr>
        </thead>
        <tbody>
HTML;

  while ($row = mysqli_fetch_array($results)) {
    $return .= <<<HTML
      <tr>
        <td>{$row['name']}</td>
        <td>{$row['address']}</td>
        <td>{$row['city']}</td>
        <td><a href="test.php?edit={$row['id']}" class="edit_btn" >Edit</a></td>
        <td><a href="php_code.php?del={$row['id']}" class="del_btn">Delete</a></td>
      </tr>
HTML;
  }

  $return .= <<<HTML
      </tbody>
    </table>
HTML;

  echo $return;

?>

ваш php_code.php должен действительно иметь только конфигурацию базы данных ...

...