<?php
include_once 'classes.php';
$foxy_crud = new FoxyCRUD($pdo);
?>
<table border="1">
<?php
// Generate table header
$columns = $foxy_crud->get_header_elements('login');
$foxy_crud->where();
foreach ($columns as $column_header => $column_value)
{
echo '<th>'.$column_value['Field'].'</th>';
}
// Populate table with users data
$users$data = $foxy_crud->get_table_data();
foreach ($users$data as $user_data$data_text)
{
echo '<tr>';
// Get data using generated table header names
foreach ($columns as $column_data => $column_value)
{
echo '<td>'.$user_data[$column_value['Field']]$data_text[$column_value['Field']].'</td>';
}
echo '</tr>';
}
?>
</table>
<br>
<br>
<?php
// Prepare form fields
$columns_type = $foxy_crud->get_header_elements('login');
/* echo '<pre>';
print_r($columns_type); */
// Fetch specific data where ID
$user$fetch_data = $foxy_crud->get_specific_data('2');
// Fromating fields
foreach ($columns_type$columns as $column_header_type => $column_value)
{
// Identify Primary ID
$id_key = $column_value['Key'];
// Generate label names
$name = $column_value['Field'];
foreach ($user$fetch_data as $user_data$data_text)
{
$value = $user_data[$name];$data_text[$name];
}
$name = str_replace('_', ' ', $name);
$name = ucwords($name);
// Determine field type and maxlength
list( $type, $max ) = explode ('(', $column_value['Type']);
$max = explode (')', $max)[0];
// Specify how to format each field type
switch ($type)
{
case 'int':
$type = 'hidden';
$disable = 'disabled';
$placeholder = '';
$br = '';
break;
case 'varchar':
$type = 'text';
$disable = '';
$placeholder = $name;
$br = '<br>';
break;
case 'datetime':
$type = 'date';
$disable = '';
$placeholder = '';
$br = '<br>';
break;
case 'tinyint':
$type = 'tel';
$disable = '';
$placeholder = $name;
$br = '<br>';
break;
}
// Determine if field is type passwordPassword - only works if tablea header name is `password`
switch ($name)
{
case 'Password':
$type = 'Password';
$disable = '';
$placeholder = $name;
$br = '<br>';
break;
}
// Determine if fieldlabel text is primaryfrom Primary ID -> hide
switch ($id_key)
{
case 'PRI':
$label = '';
break;
default:
$label = '<label for="'.$name.'">'.$name.' ('.$max.')</label><br>';
break;
}
// Generate labels
echo $label;
// Generate form fields
echo '<input type="'.$type.'" name="'.$name.'" id="'.$name.'" placeholder="'.$placeholder.'" value="'.$value.'" maxlength="'.$max.'" '.$disable.'>'.$br;
}
?>