<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
function randomString()
{
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randstring = '';
for ($i = 0; $i < 10; $i++) {
$randstring = $characters[rand(0, strlen($characters))];
}
return $randstring;
}
function getPrimaryKey($connect, $table)
{
$columns = showColums($connect, $table);
$countColumn = count($columns);
for ($x = 0; $x < $countColumn; $x++) {
if ($columns[$x][3] == 'PRI') {
return $columns[$x][0];
}
}
}
function showTables($connect, $showTables)
{
if (!empty($showTables)) {
return $showTables;
} else {
$sql = "SHOW TABLES";
$statement = $connect->prepare($sql);
$statement->execute();
return $tables = $statement->fetchAll(PDO::FETCH_NUM);
//return $tables;
}
}
function showColums($connect, $tableName)
{
$sql = "SHOW COLUMNS from $tableName ";
$statement = $connect->prepare($sql);
$statement->execute();
$tables = $statement->fetchAll(PDO::FETCH_NUM);
return $tables;
}
function showRows($connect, $tableName)
{
$sql = "Select * from $tableName ";
$statement = $connect->prepare($sql);
$statement->execute();
$tables = $statement->fetchAll(PDO::FETCH_NUM);
return $tables;
}
function countRows($connect, $tableName)
{
$sql = "Select * from $tableName ";
$statement = $connect->prepare($sql);
$statement->execute();
$count = $statement->rowCount();
return $count;
}
function showOneRow($connect, $tableName, $columnId)
{
$column = showColums($connect, $tableName);
$firstColumun = $column[0][0];
$sql = "Select * from $tableName Where $firstColumun = $columnId ";
$statement = $connect->prepare($sql);
$statement->execute();
$tables = $statement->fetchAll(PDO::FETCH_NUM);
return $tables;
}
function insertData($connect, $post)
{
$postArray[] = $post;
$arrayKeys = array_keys($_POST);
$tableNamePost = $postArray[0]['table_name_order'];
$queryArray = [];
foreach ($arrayKeys as $key) {
if ($key == 'table_name_order' || $key == 'table_name_order_id' || $key == 'action') {
} else {
$queryArray[$key] = $_POST[$key];
}
}
foreach ($queryArray as $k => $v) {
$prep[':' . $k] = $v;
}
try {
$sth = $connect->prepare("INSERT INTO $tableNamePost ( " . implode(', ', array_keys($queryArray)) . ") VALUES (" . implode(', ', array_keys($prep)) . ")");
$res = $sth->execute($prep);
if (isset($res)) {
echo $output = '<b>' . $tableNamePost . '</b> Added ';
echo '<script type="text/javascript">',
'reload();',
'</script>';
} else {
echo $output = '<b>' . $tableNamePost . '</b> Not Added !! ';
}
} catch (PDOException $e) {
echo $e->getMessage();
}
}
function inputType($row)
{
switch ($row) {
case 'int':
$inputType = 'number';
break;
case 'varchar':
$inputType = 'text';
break;
case 'text':
$inputType = 'text';
break;
case 'decimal':
$inputType = 'number';
break;
case 'float':
$inputType = 'number';
break;
case 'enum':
$inputType = 'option';
break;
case 'date':
$inputType = 'date';
break;
default:
$inputType = 'text';
}
return $inputType;
}
function getRelatedRow($connect, $relatedTable, $relatedRow, $relatedWith, $getRow)
{
$query = $connect->prepare("SELECT * FROM $relatedTable WHERE $relatedRow = $relatedWith ");
$query->execute();
$result = $query->fetch();
return $result[$getRow];
}
function getRelatedRowOptions($connect, $relatedTable, $relatedRow, $relatedWith, $getRow)
{
$option = '';
$query = $connect->prepare("SELECT DISTINCT $getRow FROM $relatedTable");
$query->execute();
$results = $query->fetchAll();
foreach ($results as $result) {
$option .= '<option value="' . $result[$getRow] . '">' . $result[$getRow] . '<option>';
}
return $option;
}
function updateData($connect, $post)
{
$arrayKeys = array_keys($post);
$tableNamePost = $post['table_name_order'];
$tableIdPost = $post['table_name_order_id'];
$primeryKeyName = getPrimaryKey($connect, $tableNamePost);
foreach ($arrayKeys as $key) {
if ($key == 'table_name_order' || $key == 'table_name_order_id' || $key == $primeryKeyName || $key == 'action') {
} else {
$query = "
UPDATE $tableNamePost
set $key = :$key
WHERE $primeryKeyName = :$primeryKeyName
";
$statement = $connect->prepare($query);
$statement->execute(
array(
':' . $key => $_POST[$key],
':' . $primeryKeyName => $tableIdPost,
)
);
$result = $statement->fetchAll();
if (isset($result)) {
$output = '<b>' . $tableNamePost . '</b> table <i>' . $tableIdPost . '<i> record Updated ';
} else {
$output = '<b>' . $tableNamePost . '</b> table <i>' . $tableIdPost . '<i> record Not Updated !! ';
}
}
}
echo $output;
}
|