From 6ffa7736925b1ec1f3ee699ce37d96b0b603cdde Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Tue, 18 Nov 2014 00:18:24 +0100 Subject: [PATCH] Bug in function save --- include/class_noalyss_sql.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/include/class_noalyss_sql.php b/include/class_noalyss_sql.php index 8c1aad59b..b05cb38c3 100644 --- a/include/class_noalyss_sql.php +++ b/include/class_noalyss_sql.php @@ -87,11 +87,15 @@ abstract class Noalyss_SQL /* load it */ if ($p_id != -1 )$this->load(); } - +/** + * Insert or update : if the row already exists, update otherwise insert + */ public function save() { $pk=$this->primary_key; - if ($this->$pk==-1) + $count=$this->cn->get_value('select count(*) from '.$this->table.' where '.$this->primary_key.'=$1',array($this->$pk)); + + if ($count == 0) $this->insert(); else $this->update(); @@ -226,7 +230,10 @@ abstract class Noalyss_SQL { return var_export($this, true); } - +/** + * @todo ajout vérification type (date, text ou numeric) + * @return int + */ public function verify() { foreach ($this->name as $key) @@ -317,6 +324,10 @@ abstract class Noalyss_SQL } return $a_return; } + public function count($p_where="",$p_array=null) { + $count=$this->cn->get_value("select count(*) from $this->table".$p_where,$p_array); + return $count; + } } ?>