Как отобразить данные из таблицы во входные данные формы с помощью php(полное/точное описание внизу)

#javascript #php #html #mysql

Вопрос:

итак, вопрос в том, почему я получаю только первую строку данных, даже нажав кнопку редактирования второй строки, в то время как тот же результат запроса правильно отобразил данные в строках моей таблицы html. моя цель состоит в том, чтобы отобразить те же данные, которые я получил в строке таблицы html, во всплывающую форму ввода, затем отредактировать/обновить те же данные и снова отправить новую версию данных в базу данных….любая помощь или даже идея была бы отличной и заранее спасибо.
Фотография

 <?php
$host = "localhost"; //IP of your database
$userName = "root"; //Username for database login
$userPass = ""; //Password associated with the username
$database = "database_name"; //Your database name
$connectQuery = mysqli_connect($host,$userName,$userPass,$database);
if(mysqli_connect_errno()){
    echo mysqli_connect_error();
    exit();
}else{
    $selectQuery = "SELECT * FROM `table_name` ORDER BY `ID` ASC";
    $result = mysqli_query($connectQuery,$selectQuery);
    if(mysqli_num_rows($result) > 0){
  }else{
        $msg = "No Record found";
    }
}?>
<!-- of course starting by a while loop  -->
<?php while($row = mysqli_fetch_assoc($result)){?>
<!-- this how i displayed the data in a table row -->
<td><?php echo $row['row_name'];?></td>
<!-- that's how i displayed the data in a pop-up form inputs -->
 <input type="number" value="<?php echo $row['row_name'];?>">
 

Комментарии:

1. Пожалуйста, обратите внимание, что эти строки являются лишь некоторыми последовательностями и наиболее важными, связанными с моей проблемой/вопросом

Ответ №1:

Это весь код? Потому что кажется, что закрывающая фигурная скобка отсутствует в то время.

Я думаю, вы можете внести некоторые улучшения (конечно, это всего лишь идеи). :

Используйте PDO : Чтобы вы могли отображать ошибки и управлять своей базой данных в ООП : https://www.php.net/manual/en/pdo.error-handling.php

 <?php
// DbConnection.php
class DbConnection {

    static function connect() {
        try {
            $pdo = new PDO("mysql:host=localhost;dbname=dbname", "user", "pass");
        } catch (Exception $e) {
            die("Erreur :" . $e->getMessage());
        }
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $pdo->exec("SET NAMES UTF8");
        return $pdo;
    }
}
 

Затем вы можете включить или запросить файл и вызвать его

 DbConnection::connect();
 

Когда вы захотите его использовать :

 <?php
// controller
require = 'DbConnection.php'
$pdo = DbConnection::connect();

$query = $pdo->prepare("SELECT * FROM `table_name` ORDER BY `ID` ASC");
$query->execute();

$rows = $query->fetchAll(PDO::FETCH_ASSOC);
 

Используйте foreach :
Это будет проще, если вы соберете все для использования в массиве, вы можете сделать это следующим образом

 // view or HTML file
<?php foreach ($rows as $row): ?>
    <!-- this how i displayed the data in a table row -->
    <td><?= $row['row_name'];?></td>
    <!-- that's how i displayed the data in a pop-up form inputs -->
    <input type="number" value="<?= $row['row_name'];?>">
<?php endforeach; ?>
 

Знать, что <?php echo ... ?> это равносильно <?= ... ?>

Я надеюсь, что это поможет решить вашу проблему и что мой ответ не ошибочен.

ps: не стесняйтесь поправлять меня, если вы обнаружите ошибку или что-то другое.

Комментарии:

1. спасибо за ваш комментарий,во-первых, все строки, которые я опубликовал, — это просто некоторые последовательности моего кода(весь мой код составляет 1000 строк), которые логически связаны с проблемой, с которой я сталкиваюсь, и, кстати, я только что попробовал ваши модификации, и та же проблема все еще здесь (ПРИМЕЧАНИЕ :не ошибка!)

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

3. здравствуйте,извините,что ответил слишком поздно, я уже решил эту проблему сам и большое вам спасибо за вашу помощь, я действительно ценю это .будьте в безопасности!

4. привет, никаких проблем, добро пожаловать, будьте в безопасности !