[ Thugzsr @ 31.10.2013. 14:48 ] @
Pozdrav ljudi, hteo bih da napravim klasu koju bih koristio kasnije za svoje projekte a koja bi komunicirala sa mysql tabelama. Hteo bih da klasa bude fleksibilna, da mogu primenjivati sa malim izmenama u drugim projektima. Naime, ja sam napravio jednu, ali imam problem sa insert i update metodama. Kod inserta dobijem error
Code:
Duplicate entry '' for key 3
.
Dok kod update mi uradi izmenu svih polja, ali ne bi trebalo to. Prvo u klasi imam niz u kome upisem polja tabele sa kojom ce klasa raditi. Zbog koriscenja svih polja koja se nalazi u tom nizu imam te probleme. Kod inserta mi se preklapa id sa poslednjim id-om, a update radi kako sam vec opisao.

Code:
public function update() {
        global $database;
        $atributes = $this->cistiAtributi();
        
        $atributePairs = array();
        foreach ($atributes as $key => $value) {
            $atributePairs[] = "{$key}='{$value}'";
        }
        $sql = "UPDATE ". self::$nazivTabele ." SET ";
        $sql .= join(", ", $atributePairs);
        $sql .= " WHERE org_id =" . $database->escapeValue($this->org_id);
        $database->query($sql);
        return ($database->affectedRows() == 1) ? true : false;

    } //kraj update

          public function create() {
        global $database;
        $atributes = $this->cistiAtributi();
        $sql = "INSERT INTO " . self::$nazivTabele . " (";
        $sql .= join(", ", array_keys($atributes)) .  ") ";    
        $sql .= "VALUES ('";
        $sql .= join("', '", array_values($atributes));
        $sql .= "') ";
        if ($database->query($sql)) {
            $this->org_id = $database->insertedID();
            return true;
        
        } else {
            return false;
        }
    } //kraj create

to su metodi, moze li mi neko dati sugestiju kako bih trebao to uraditi?
[ peromalosutra @ 04.11.2013. 21:33 ] @
Sto se inserta i preklapanja id-a tice, provjeri da li ti je org_id polje autoincrement.

Ovo za update nisam razumio sta hoces da ti klasa radi? Ako hoces da updejtujes samo neku kolonu, onda proslijedi samo nju, a ne sve.
[ scorpioX @ 21.11.2013. 00:01 ] @
Nema potrebe da se mučiš i da ponovo izmišljaš točak, to ti sve elegantno rešeno u CakePHP framework-u.
[ peromalosutra @ 22.11.2013. 13:22 ] @
Rijeseno je to u svakom frameworku, samo sto covjek vjerovatno uci pa hoce da napravi nesto svoje. Ako mu je cilj samo da ima nesto sto radi, onda naravno nek uzme neki framework i fura po tome.