Использование PHP для получения данных из MSQL и нужна кнопка в таблице foreach - PullRequest
0 голосов
/ 24 сентября 2019

Позвольте мне сначала опубликовать некоторый код, чтобы я мог объяснить больше того, чего я хочу достичь.

<?php


require "../config.php";
require "../common.php";

if (isset($_POST['submit'])) {
  if (!hash_equals($_SESSION['csrf'], $_POST['csrf'])) die();

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

    $sql = "SELECT * FROM saledata WHERE itemnumber = :itemnumber";

    $itemnumber = $_POST['itemnumber'];
    $statement = $connection->prepare($sql);
    $statement->bindParam(':itemnumber', $itemnumber, PDO::PARAM_STR);
    $statement->execute();

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

<?php  
if (isset($_POST['submit'])) {
  if ($result && $statement->rowCount() > 0) { ?>
    <h2>Results</h2>
<style>
table, th, td {
  border: 1px solid black;
}
</style>
    <table>
      <thead>
        <tr>
        <th>Item Number</th>
        <th>Sale Number</th>
        <th>Lot Number</th>
        <th>Item Description</th>
        <th>Seller Number</th>
        <th>Buyer Number</th>
        <th>Sold</th>
        <th>Sold</th>
        <th>Paid</th>
        <th>Date</th>
        </tr>
      </thead>
      <tbody>
      <?php foreach ($result as $row) : ?>
        <tr>
        <td><?php echo escape($row["itemnumber"]); ?></td>
        <td><?php echo escape($row["salenumber"]); ?></td>
        <td><?php echo escape($row["lotnumber"]); ?></td>
        <td><?php echo escape($row["itemdescription"]); ?></td>
        <td><?php echo escape($row["sellernumber"]); ?></td>
        <td><?php echo escape($row["buyernumber"]); ?></td>
        <td><?php echo escape($row["sold"]); ?></td>
        <td><?php echo escape($row["paid"]); ?></td>
        <td><?php echo escape($row["amount"]); ?></td>
        <td><?php echo escape($row["date"]); ?> </td>
        </tr>
      <?php endforeach; ?>
      </tbody>
    </table>
    <?php } else { ?>
      <blockquote>No results found for <?php echo escape($_POST['itemnumber']); ?>.</blockquote>
    <?php } 
} ?> 

<h2>Find item based on Item Number</h2>

<form method="post">
  <input name="csrf" type="hidden" value="<?php echo escape($_SESSION['csrf']); ?>">
  <label for="itemnumber">Item Number</label>
  <input type="text" id="itemnumber" name="itemnumber"><br><br>
  <input type="submit" name="submit" value="View Results">
</form>

<?php require "templates/footer.php"; ?>
(END)

Это создает таблицу HTML, содержащую данные в базе данных в строках.То, что я хотел бы, это кнопка в начале или конце строк, которая изменит поле в строке этого элемента.Примером является столбец для проданных или не проданных.Что бы я хотел, это кнопка в начале или конце каждой строки, которая изменяет столбец «продано» с N на Y для этого элемента.Я попытался поместить блок кода в код здесь в конце, но я не могу заставить его что-либо делать.Я могу заставить кнопку показывать, используя тег HTML, но не могу заставить ее что-то делать.Вот концепция foreach:

        <td><?php echo escape($row["sold"]); ?></td>
        <td><?php echo escape($row["paid"]); ?></td>
        <td><?php echo escape($row["amount"]); ?></td>
        <td><?php echo escape($row["date"]); ?> </td>
        <td>BUTTON and code to change Sold from N to Y</td>
</tr>

Любая помощь будет принята с благодарностью!Я знаю, что мои вещи, вероятно, элементарны и не очень эффективны, но я работал над этим проектом несколько недель и никогда раньше не работал с базой данных MYSQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...