Выполнить функцию PHP из HTML-скрипта [closed]

Я пытаюсь выполнять определенную команду 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 ответ
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 Добро пожаловать 🙂

    — Ар Ракин

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *