fork download
  1. <?php
  2.  
  3.  
  4. function parse_form_data ($data) {
  5. $params = array();
  6. parse_str($data, $params);
  7.  
  8. return $params;
  9.  
  10. }
  11.  
  12. function print_arr ($arr) {
  13. echo '<pre>';
  14. print_r($arr);
  15. echo '</pre>';
  16. }
  17.  
  18.  
  19. function show_col ($pdo, $table) {
  20. //$pdo->beginTransaction();
  21.  
  22. $query="SELECT column_name, extra FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='$table'";
  23. $stmt = $pdo->prepare($query);
  24.  
  25. $stmt->execute();
  26. $stmt->setFetchMode(PDO::FETCH_ASSOC);
  27.  
  28. $columns = $stmt->fetchAll(PDO::FETCH_UNIQUE); //какая-то магия(
  29.  
  30. return($columns);
  31. // $pdo->commit();
  32. }
  33.  
  34. //function update_base ($pdo, $data, $table, $operation,$id=NULL) {
  35. function update_base ($pdo, $data=NULL, $table, $operation,$id=NULL) {
  36. $table_data= show_col ($pdo, $table); // получили все поля таблицы
  37. // print_arr($table_data);
  38. $allowed=array_keys($table_data); // получили ключи полей
  39.  
  40. //print_arr($allowed);
  41. $placeholders = '';
  42. $values = array();
  43.  
  44. foreach ($allowed as $field) {
  45. if (isset($data[$field])) {
  46. $placeholders.="`".str_replace("`","``",$field)."`". "=:$field, ";
  47.  
  48. $values[$field] =$data[$field];
  49. }
  50. }
  51.  
  52. $placeholders= substr($placeholders, 0, -2);
  53.  
  54. switch ($operation) {
  55. case 'add':
  56. $query = "INSERT INTO `$table` SET ".$placeholders;
  57. // echo $query;
  58. // $values['id']="";
  59. break;
  60.  
  61. case 'update':
  62. $query = "UPDATE `$table` SET ".$placeholders." WHERE id = :id"; // ЗДЕСЬ НУЖНО СДЕЛАТЬ ДИНАМИЧЕСКИй ID (CITY и т д)
  63. // $query = "UPDATE `$table` SET ".$placeholders." WHERE event_id = :id";
  64. // $query = "UPDATE `$table` SET ".$placeholders." WHERE city = :id";
  65. $values["id"] = $id;
  66. // echo $query;
  67. break;
  68.  
  69. case 'delete':
  70. $query = "DELETE FROM `$table` WHERE id = :id";
  71. // $query = "DELETE FROM `$table` WHERE city = :id";
  72. // $query = "DELETE FROM `$table` WHERE event_id = :id";
  73. $values["id"] = $id;
  74. //$values=array('id' => $id);
  75. break;
  76. }
  77.  
  78. $stmt = $pdo->prepare($query);
  79. $stmt->execute($values);
  80.  
  81. if (!$stmt) {
  82. echo "\nPDO::errorInfo():\n";
  83. print_r($pdo->errorInfo());
  84. }
  85. $lastId = $pdo->lastInsertId();
  86. return $lastId;
  87. }
  88.  
  89. function data_from_db ($pdo,$fields,$table,$k=NULL,$id=NULL) {
  90.  
  91. $query="SELECT $fields FROM $table";
  92. if (isset($id)) {
  93. $query.=" WHERE id=$id";
  94.  
  95. }
  96. $query.=" ORDER BY `created` DESC";
  97. // echo '<br>'.$query;
  98. $stmt = $pdo->prepare($query);
  99. $stmt->execute();
  100. if ($k==NULL){
  101. $data=$stmt->fetchAll();
  102. } else {
  103. while ($row=$stmt->fetch()) {
  104. $data[$row[$k]]=$row;
  105. }
  106. }
  107. return $data;
  108. }
  109.  
  110.  
  111. ?>
  112.  
  113.  
Success #stdin #stdout 0.02s 52472KB
stdin
Standard input is empty
stdout