Tbl Editor

This commit is contained in:
Hash Borgir
2023-06-13 01:14:37 -06:00
parent 49ece6bff2
commit eca6598fdf
3 changed files with 271 additions and 165 deletions

View File

@@ -7,55 +7,93 @@ require_once './config.php';
require_once './_pdo.php';
require_once './src/D2Functions.php';
require_once './src/D2Crud.php';
error_reporting(E_ERROR | E_PARSE);
error_reporting(E_ALL);
set_time_limit(-1);
ini_set('max_input_time', '-1');
ini_set('max_execution_time', '0');
define('DB_FILE', $_SESSION['modname'] . ".db");
PDO_Connect("sqlite:" . DB_FILE);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Check if the "Add" button was clicked
if (isset($_POST['add'])) {
$tableName = $_POST['tableName'];
// Retrieve the Key and String values from the form
$key = $_POST['key'];
$string = $_POST['string'];
// Insert the new row into the table
$inserted = PDO_Execute("INSERT INTO $tableName (Key, String) VALUES (?, ?)", array($key, $string));
if ($inserted) {
// Redirect or display success message
header('Location: /TblEditorGUI.php');
} else {
// Handle the insertion failure
echo PDO_ErrorInfo();
}
}
try {
PDO_Connect("sqlite:" . DB_FILE);
} catch (Exception $e) {
echo "Connection error: " . $e->getMessage();
}
// Handle the DELETE submission
// Check if the "Delete" button was clicked
if ($_GET['cmd'] == "delete") {
$tableName = $_GET['t'];
$key = $_GET['k'];
// Delete the row from the table based on the Key
$deleted = PDO_Execute("DELETE FROM $tableName WHERE Key = ?", array($key));
if ($deleted) {
// Redirect or display success message
echo "Deleted $key from $tableName";
} else {
// Handle the deletion failure
echo PDO_ErrorInfo();
$cmd = $_REQUEST['cmd'];
$tableName = $_REQUEST['tableName'];
}
if ($cmd == "getTable") {
$query = "SELECT ROWID,* FROM $tableName";
$rows = PDO_Execute($query);
// Start the table with Bootstrap classes
$tableMarkup = '';
// Iterate over the rows
foreach ($rows as $row) {
$tableMarkup .= '<tr class="row-' . $row['rowid'] . '">';
$tableMarkup .= "<td>{$row['rowid']}</td>";
// Display the Key column as a text input with Bootstrap form-control class
$tableMarkup .= '<td><input type="text" value="' . $row['Key'] . '" class="form-control"></td>';
// Display the String column as a textarea with Bootstrap form-control class
$tableMarkup .= '<td><textarea class="form-control">' . $row['String'] . '</textarea></td>';
// Add the Update and Delete links within a single td element
$tableMarkup .= '<td><div>';
// Add the Update link with Bootstrap btn and btn-primary classes
$tableMarkup .= '<a href="#" class="update-link btn btn-primary" data-rowid="' . $row['rowid'] . '">Update</a>';
// Add the Delete link with Bootstrap btn and btn-danger classes
$tableMarkup .= '<a href="#" class="delete-link btn btn-danger" data-rowid="' . $row['rowid'] . '">Delete</a>';
$tableMarkup .= '</div></td>';
$tableMarkup .= '</tr>';
}
// Return the table markup
echo $tableMarkup;
}
if ($cmd == "update") {
$query = "UPDATE patchstring SET Key = ?, String = ? WHERE ROWID = ?";
PDO_Execute($query, [$_REQUEST['key'], $_REQUEST['string'], $_REQUEST['rowid']]);
echo $_REQUEST['key'] . " updated";
}
if ($cmd == "delete") {
$query = "DELETE FROM $tableName WHERE ROWID = ?";
PDO_Execute($query, [$_REQUEST['rowid']]);
echo $_REQUEST['rowid'] . " deleted";
}
if ($cmd == "add") {
$tableName = $_POST['tableName'];
$key = $_POST['Key'];
$string = $_POST['String'];
// Create your insert statement using the provided values
$query = "INSERT INTO $tableName (Key, String) VALUES (?, ?)";
$params = array($key, $string);
// Execute the insert statement
$result = PDO_Execute($query, $params);
// Retrieve the last inserted rowid from the table
$query = "SELECT last_insert_rowid() AS rowid";
$result = PDO_FetchOne($query);
echo $result;
}