Я пытаюсь выполнять определенную команду PHP каждый раз, когда запускается мой файл index.html. В частности, я хочу выполнить следующую команду SQL из getdata.php, которая удаляет строку из моей таблицы данных SQL:
$sql = "DELETE FROM studycondition ORDER BY id ASC LIMIT 1";
Таким образом, идея состоит в том, что каждый раз при запуске index.html удаляется строка из таблицы SQL. Любые идеи относительно того, как я могу выполнить функцию удаления SQL из моего файла HTML? См. Полный код ниже.
getdata.php
<?php
include('database_config2.php');
$data_array = json_decode(file_get_contents('php://input'), true);
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT cond FROM studycondition";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
if($row = $result->fetch_assoc()) {
//echo json_encode("id: " . $row["cond"]. "<br>");
echo json_encode($row["cond"]);
}
} else {
echo "0 results";
}
$sql = "DELETE FROM studycondition ORDER BY id ASC LIMIT 1"; //this is what I want to transfer to my HTML file
$conn->close();
?>
index.html
<script>
function reqListener () {
console.log(this.responseText);
}
var oReq = new XMLHttpRequest(); // New request object
oReq.onload = function() {
const js = document.createElement("script");
var noQuotes = this.responseText.split('"').join('');
js.src = noQuotes;
document.head.appendChild(js);
};
oReq.open("get", "index.php", true);
oReq.send();
//line to execute delete SQL data command ???
</script>
```
1 ответ
Для этого вам нужно создать новый файл. Для меня это delete.php
. Это содержит:
<?php
include('database_config2.php');
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "DELETE FROM studycondition ORDER BY id ASC LIMIT 1"; //this is what you want to transfer to your HTML file
if($conn->query($sql)){
echo("Data Deleted.");
}
else {
echo("Query Error.");
}
$conn->close();
?>
И код javascript для удаления данных должен выглядеть так:
fetch("delete.php")
.then(res => res.text())
.then(data => {
if(data.trim() == "Data Deleted."){
alert("Data Deleted");
}
else {
alert(data);
}
})
.catch(err => console.error(err));
Это должно работать нормально.
Спасибо, это сработало!
— Сара
@Sarah Добро пожаловать 🙂
— Ар Ракин