Так что мне нужна простая вещь, мне нужно создать кнопку на моем веб-сайте, после нажатия кнопки, она должна обрезать таблицу базы данных, но я не могу сделать это успешно сам. Так вы могли бы мне помочь, пожалуйста?
Здесь я пытаюсь создать ключ:
<input type="button" id='delete' class='delete' value='Truncate' onClick="$truncate"> </input>
Я знаю, что это неправильный способ использования переменной PHP в HTML, но я не знаю, как это сделать правильно.
Вот моя переменная PHP:
$truncate= "TRUNCATE TABLE myTable";
При подключении к базе данных все в порядке:
$mysqli = new mysqli("localhost","database","password","asd");
Так может быть, здесь лучший способ создать кнопку для таблицы базы данных truncate? Спасибо.
ОБНОВЛЕНО:
Это тоже не сработает, ничего не происходит после нажатия кнопки.
if(isset($_POST['delete'])){ $delete= "TRUNCATE TABLE myTable"; } ?> <input type="button" id='delete' class='delete' name="delete" value='Truncate' onClick="delete"> </input>
Здесь попробуйте.
PHP (delete_table.php)
<?php // CONNECT TO THE DATABASE $DB_HOST = "your_host"; $DB_NAME = "your_DB_name"; $DB_USER = "username"; $DB_PASS = "password"; $dbc = mysqli_connect($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME) or die('Error connecting to MySQL server'); if(isset($_POST['delete'])){ $query = "TRUNCATE TABLE `yourTable` "; // replace yourTable with one to delete $result = mysqli_query($dbc,$query) or die('Error deleting table.'); } else { echo "Sorry"; } ?>
Форма HTML
<form method="post" action="delete_table.php"> <input type="submit" id='delete' class='delete' name="delete" value='Truncate'></input> </form>
Я, безусловно, эксперт jQuery, но, возможно, что-то вроде этого …. непроверенный, конечно
JQuery
$(document).ready(function() { $('#delete').click(function() { var table = $('#table').val(); //where #table could be an input with the name of the table you want to truncate $.ajax({ type: "POST", url: "truncate.php", data: 'table='+ table, cache: false, success: function(response) { alert('table dropped'); }, error: function(xhr, textStatus, errorThrown) { alert('request failed'); } }); }); });
PHP (truncate.php)
try { // create a new instance of a PDO connection $db = new PDO(DB_TYPE.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e) { // if the connection fails, display an error message echo 'ERROR: ' . $e->getMessage(); } $table = $_POST['table']; $sql = 'TRUNCATE TABLE '.$mytable; $stmt = $db->prepare($sql); $stmt->execute(); ?>