#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. привет, никаких проблем, добро пожаловать, будьте в безопасности !