Я получаю некоторые данные из базы данных в формате HTML, используя php. Мне нужно передать ключ функции JS, но я не могу сделать.
Мне нужно передать field_id
в функцию updateRecords()
js, используя функцию onClick()
кнопки html в коде ниже. Как я могу это сделать?
Раньше я использовал тот же код для отправки значения напрямую php. это было немного прямо вперед. Теперь, чтобы реализовать ajax, мне нужно пройти через js, который застрял в этом коде. Я пробовал разные решения, но пока безуспешно.
Вот мой код:
html / php:
<?php
try {
$stmt = $conn->prepare("SELECT field_id, description, corner_points, notes FROM fields");
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row) {
?>
<tr>
<td style='width:150px;border:1px solid grey;'><?= $row['field_id'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['description'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['corner_points'] ?></td>
<td style='width:150px;border:1px solid grey;'><?= $row['notes'] ?></td>
<td style='width:150px;border:1px solid grey;'><button class="btn btn-primary btn-sm" name="submit2" type="submit" onclick="updateRecords()">Edit</button></td>
</tr>
<?php
}
}
Вот получение js:
function updateRecords(field_id) {
// get values
//var field_id = $("#field_id").val();
// Update the details by requesting to the server using ajax
$.post("ajax/edit-field.php", {
field_id: field_id,
},
function readRecords (data, status) {
// reload Users by using readRecords();
readRecords();
}
);
}
EDIT
Я тоже так пробовал (mentioned in answer1)
, но это не удалось. Не удалось, я имею в виду, я получил ошибку, ' Notice: Undefined variable: field_id in C:\ajax\edit-field.php on line 43 '.
Это код, который я использую в edit-field.php для получения field_id от js. Вы видите это, плз.
редактирование-field.php
<?php
if(isset($_GET["field_id"])) //used too if(isset($_POST["field_id"]))
{
$field_id = $_GET["field_id"]; // same here with same results
}
try {
$stmt = $conn->prepare("SELECT field_id, description, corner_points, damming_level_distance_map, pipeline_distance_map, notes FROM fields where field_id = $field_id");
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach($stmt->fetchAll() as $row)
{ }
}
catch(PDOException $e) {
exit('<b>Catched exception at line '. $e->getLine() .' (code : '. $e->getCode() .') :</b> '. $e->getMessage());
}
?>