Advertisement
Guest User

Untitled

a guest
Jul 4th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. <?php
  2.  
  3. $servername = "localhost";
  4. $username = "root";
  5. $password = "123456";
  6. $table = "audit_trail";
  7. $alias = 'aut';
  8. $db = "Sam04042017";
  9.  
  10. // Create connection
  11. $conn = new mysqli($servername, $username, $password, $db);
  12. // Check connection
  13. if ($conn->connect_error) {
  14. die("Connection failed: " . $conn->connect_error);
  15. }
  16.  
  17. $query = "SELECT COLUMN_NAME, DATA_TYPE
  18. FROM INFORMATION_SCHEMA.COLUMNS
  19. WHERE TABLE_SCHEMA = 'Sam04042017'
  20. AND TABLE_NAME = '$table'";
  21.  
  22. $result = $conn->query($query);
  23. $output = '';
  24. if ($result->num_rows > 0) {
  25. // output data of each row
  26. while ($row = $result->fetch_assoc()) {
  27. $columnName = $row['COLUMN_NAME'];
  28. $type = getingType($row['DATA_TYPE']);
  29. $camelizeColumn = $type == 'int' ? camelize($columnName) . 's' : camelize($columnName);
  30. $templates = '/**' . "\n" . '* Define filtering by '.$alias.'.' . $columnName;
  31. $templates .= "\n" . '* @param ' . $type . '|' . $type . '[]' . ' ' . '$'.$camelizeColumn;
  32. $templates .= "\n" . '* @return $this' . "\n" . '*/';
  33. $templates .= "\n" . 'public function filter' . ucfirst(camelize($columnName)) . '(' . '$'.$camelizeColumn . ')' . "\n {";
  34. $templates .= "\n\t" . '$this->filterArray(' . "'" . $columnName . "', " . '$'.$camelizeColumn . ');';
  35. $templates .= "\n\t" . 'return $this;';
  36. $templates .= "\n" . '}';
  37.  
  38. $output .= "\n".$templates;
  39. }
  40. }
  41.  
  42. print $output;
  43.  
  44. $conn->close();
  45.  
  46. function camelize($value){
  47. $value = ucwords(str_replace(array('-', '_'), ' ', $value));
  48. $value = str_replace(' ', '', $value);
  49. return lcfirst($value);
  50. }
  51.  
  52. function getingType($dataType)
  53. {
  54. if ($dataType == 'int') {
  55. return 'int';
  56. } elseif ($dataType == 'decimal') {
  57. return 'float';
  58. } elseif ($dataType == 'datetime') {
  59. return 'datetime';
  60. }elseif ($dataType == 'varchar') {
  61. return 'string';
  62. }elseif ($dataType == 'text') {
  63. return 'string';
  64. }elseif ($dataType == 'smallint') {
  65. return 'int';
  66. }elseif ($dataType == 'timestamp') {
  67. return 'datetime';
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement