From fe3d37364bbc072aedac951d4b2acc724ba7393a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Sat, 7 Aug 2010 18:32:09 +0200 Subject: add Class TableRpmRepo and use it everywhere --- class/CommonTable.php | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) (limited to 'class/CommonTable.php') diff --git a/class/CommonTable.php b/class/CommonTable.php index 51c0cd6..a7d029d 100644 --- a/class/CommonTable.php +++ b/class/CommonTable.php @@ -146,10 +146,41 @@ abstract class CommonTable return $nb; } + /** + * Update a row in the table + * + * @param integer $id of the record + * @param hashtable $fields of key => value + * + * @return integer : number of row deleted + */ + public function update($id, array $fields) + { + $sql = "UPDATE `".$this->table."` "; + + $link = 'SET'; + foreach ($fields as $key => $value) { + $sql .= "$link `$key`="; + if (is_null($value)) { + $sql .= 'NULL'; + } else if (is_numeric($value)) { + $sql .= $value; + } else { + $sql .= "'".addslashes($value)."'"; + } + $link = ','; + } + $sql .= " WHERE `id`=".intval($id); + + $nb = $this->exec($sql); + + return $nb; + } + /** * Create the table - * - * @return void + * + * @return void */ abstract protected function createTable(); @@ -219,14 +250,15 @@ abstract class CommonTable * Retrieve a big array with all date from the table * * @param array|string $crit for the request + * @param string $key name of the key for the return array * * @return array, index is rowid, value is a hastable */ - public function getArray($crit='') + public function getArray($crit='', $key='id') { $tab = array(); foreach ($this->request($crit) as $id => $data) { - $tab[$id] = $data; + $tab[$data[$key]] = $data; } return $tab; } -- cgit