sql в html используя php

0

Ладно, я действительно здесь. На screen.php у меня есть таблицы базы данных, и у меня есть кнопка редактирования, которая создается для каждой созданной строки базы данных. Кнопка редактирования вызывает функцию javascript, которая открывает всплывающее html-форму.

Для каждой строки в базе данных это код PHP, который генерирует новую строку в html:

$output .= "<tr><td>". $row["name"]. "</td><td>". $row["country"]. "</td><td>". $row["base_nav"]."</td><td>"."<button type='button' rel='tooltip' title='Remove' class='btn btn-danger btn-simple btn-xs'><i class='fa fa-times'></i></button><button onclick='edit();' type='button' rel='tooltip' title='Edit' class='btn btn-warning btn-simple btn-xs'><i class='fa fa-edit'></i></button>"."</td></tr>";

Когда пользователь нажимает кнопку редактирования, эта определенная строка должна заполнять всплывающее окно данными из этой строки.

Это мой код в файле screen.php.

<?php
require 'login_crudentials.php';
$connection = new mysqli($host, $user, $pword, $database, 3306);
if ($connection ->connect_error) die($connection ->connect_error);
$query = "select * from base";
$result = $connection->query($query);
while($row = $result->fetch_assoc())?>

и в форме popup html под параметром value, который у меня есть, например:

value="<?php echo $row["name"]; ?>">

Форма полностью пустая. Данные не копируются. Желтая кнопка - кнопка редактирования, которая вызывает всплывающее окно. Функция javascript одинакова для всех создаваемых кнопок редактирования, так что, возможно, это проблема, и, возможно, каждая из них должна быть уникальной?

Я добавил изображение здесь для справки о кнопке редактирования и всплывающей форме. Изображение 174551

JScript:

<script>
// Get the modal
var editbasemodal = document.getElementById('editbasemodal');
// Get the <span> element that closes the modal
var editbasespan = document.getElementById("editbaseclose");
// When the user clicks the button, open the modal 
function editbase(){
    editbasemodal.style.display = "block";
}
// When the user clicks on <span> (x), close the modal
editbasespan.onclick = function() {
    editbasemodal.style.display = "none";
}
// When the user clicks anywhere outside of the modal, close it

window.addEventListener("click", function(event){
    if (event.target == editbasemodal) {
        editbasemodal.style.display = "none";
    }
});

</script>
  • 0
    Покажите свой код JavaScript
  • 0
    PHP выполняется один раз , на сервере. Результат доставляется в браузер. Если вы хотите скопировать значения строки в ваше всплывающее окно с помощью JavaScript, то есть на клиенте , вам нужно будет извлечь значения из HTML-кода, сгенерированного PHP. Вы больше не можете ожидать, что команды / значения PHP будут делать что-либо, поскольку они больше не существуют на клиенте. Разве вы не даете каждой строке свое собственное всплывающее окно? Во всяком случае, мы не видим достаточно вашего кода.
Показать ещё 10 комментариев

2 ответа

0

Во входных тегах вашей формы добавьте следующее:

placeholder="<?php echo $row["name"];?>"

EDIT: Было бы неплохо разместить HTML-код для вашей формы.

0

document.querySelector('# editbasemodal input [name = country]'). value = elementText;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню