bonjour à tous,

j'ai dans mon code 3 popup : une pour ajouter, une pour modifier et une pour supprimer une marque.

Ajouter fonctionne parfaitement grâce aux fonctions create et save :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
public static function create($lib, $actif = true) {
    global $bdd;
 
    $marque = Marque::getInstance();
    if (empty($lib)) {
        // alerte ?
        return false;
    } else {
        $marque->setLib($lib);
        $marque->setActif($actif);
        $marque->save();
        return $marque;
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
public function save() {
        $bdd = static::_getBdd();
        $datas = array();
        foreach ($this->__sleep() as $key) {
            if (is_array($this->$key) || is_object($this->$key)) {
                $datas[$key] = json_encode($this->$key);
            } else {
                $datas[$key] = $this->$key;
            }
        }
        $primary = $this->getPrimaryKey();
        if (empty($this->$primary)) {
            $this->$primary = $bdd->insert($this->getTableName(), $datas);
        } else {
            $where = " $primary = " . $bdd->quote($datas[$primary]) . " ";
            $bdd->update($this->getTableName(), $datas, $where);
        }
        $this->_afterSave($this->$primary);
        return $this;
    }
je souhaite donc réutiliser ces fonctions pour venir modifier ce que j'aurai créé. On voit dans la fonction save qu'il y a un update.

problème je n'arrive pas à m'en servir! et au lieu de modifier il me fabrique une nouvelle marque...

Merci pour votre aide