1. PHP / Говнокод #6054

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    <?
    class ActiveRecord {
    static function find_by_id($id) {
    	$class = get_called_class(); // LSI magic comes from here
    	$sql = 'SELECT FROM `' . $class . '` WHERE `id`=\'' . $id .  "';";
    	echo "Generate sql for select by id\n";
    	echo $sql . "\n";
    	return(new $class);
    }
    
    function save() {
    
    $class = get_class();
    
    if(!isset($this->id)) {
    echo "Generate sql for new Record:\n";
    $sql = 'INSERT INTO `' . $class . '` ';
    $sql_fields = '(';
    $sql_values = '(';
    foreach($this->fields as $field => $type) {
    	if($field != 'id') {
    	$sql_fields .= '`' . $field . '`,';
    	$sql_values .= "'" . $this->{$field} . "',";
    	}
    }
    $sql = $sql . substr($sql_fields, 0, -1) . ') VALUES ' . substr($sql_values, 0, -1) . ');';
    echo 'sql: ' . $sql . "\n";
    $this->id = 1;
    } 
    else {
    	echo "Generate sql for Update:\n";
    	 
    	$sql = 'UPDATE `' . $class . '` SET ';
    	foreach($this->fields as $field => $type) {
    	if($field != 'id') {
    	$sql .= '`' . $field . '`=\'' . $this->{$field} . '\',';
    	}
    	}
    	$sql = substr($sql, 0, -1) . ';';
    	echo 'sql: ' . $sql . "\n";
    }
    }
    }

    Запостил: qbasic, 21 Марта 2011

    Комментарии (2) RSS

    • пых 5.3+
      Забавно, берешь ты какой-то опенсорс активрекорд, пытаешься заюзать, а он с тобой во время работы начинает говорить
      echo "Generate sql for select by id\n";
      echo $sql . "\n";

      Автора линчевать.
      Ответить
      • Ладно что с тобой. Он же может говорить и с темными личностями.
        Ответить

    Добавить комментарий