From f4f5f83f8fb6b5bbe61a797424f8582598d2c338 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Sat, 25 Jul 2015 00:45:15 +0100 Subject: [PATCH] db fix bugs --- lib/css/db.css | 71 +++++++++++++++++++++++++++++++------------- lib/php/db.php | 54 +++++++++++++++++++++++---------- lib/php/db/field.php | 2 +- lib/php/db/table.php | 51 ++++++++++++++++++++----------- 4 files changed, 124 insertions(+), 54 deletions(-) diff --git a/lib/css/db.css b/lib/css/db.css index c30e33cf..ba3bc968 100644 --- a/lib/css/db.css +++ b/lib/css/db.css @@ -7,7 +7,10 @@ border: solid 1px red !important; #db { } -#db .rows { +/* + List +*/ +.rows { margin: 0 auto; } @@ -17,6 +20,13 @@ border: solid 1px red !important; } .rows ul .edit { float: right; } +.rows tr.nav td { border: none; } + +td.name, +td.email, +td.phone { + white-space: nowrap; +} /* Menu @@ -25,11 +35,35 @@ border: solid 1px red !important; margin: 0 auto; padding: 0.8em 0.8em 0.8em 0.5em; padding: 0.5em 0.8em; + /* display: table; + */ +} + +.db.menu hr { + clear: both; + margin: 0; + padding: 0.5px 0; + border: none; + background-color: #f4f4f4; +} + +.db.menu .button, +.db.menu input, +.db.menu select, +.db.menu label +{ + margin: 0.3em 0.3em 0.3em 0; } -.db.menu label { - margin: 0.1em 0.1em 0 0.5em; +.db.menu span.i, +.db.menu span.i label { + float: left; +} +.db.menu span.i label { + display: inline-block; + width: 4em; + text-align: right; } .db.menu label:after { @@ -43,6 +77,18 @@ ul.db.menu { max-width: 7em; } +li.tables { + float: left; +} + +li.tables ul { + text-transform: capitalize; +} + +li.tables li { + font-size: 0.8em; +} + /* Edit */ @@ -73,24 +119,7 @@ form.db.edit .buttons { } form.db.edit .buttons input { +border: solid 1px red; width: auto; float: none; } - -li.tables { - float: left; -} - -li.tables ul { - text-transform: capitalize; -} - -li.tables li { - font-size: 0.8em; -} - -td.name, -td.email, -td.phone { - white-space: nowrap; -} diff --git a/lib/php/db.php b/lib/php/db.php index 9e6f1a3a..9546c7f6 100644 --- a/lib/php/db.php +++ b/lib/php/db.php @@ -10,12 +10,15 @@ require_once(dirname(__FILE__).'/functions.php'); require_once(dirname(__FILE__).'/db/table.php'); require_once(dirname(__FILE__).'/db/field.php'); if (!defined('DB_HTML_FORM_BUTTONS')) define('DB_HTML_FORM_BUTTONS','' - .'' - .'X' + .'' + #.'' + #.'' + .'X' .'' ); -if (!defined('DB_HTML_BUTTON_ADD')) define('DB_HTML_BUTTON_ADD',''); -if (!defined('DB_HTML_BUTTON_SUBMIT')) define('DB_HTML_BUTTON_SUBMIT',''); +#if (!defined('DB_HTML_BUTTON_SUBMIT')) define('DB_HTML_BUTTON_SUBMIT',''); +#if (!defined('DB_HTML_BUTTON_ADD')) define('DB_HTML_BUTTON_ADD','Add'); +#if (!defined('DB_HTML_BUTTON_ADD')) define('DB_HTML_BUTTON_ADD',''); class db { @@ -100,13 +103,27 @@ class db { return $this->conn->exec($sql); } - function query($sql,$o='') { - return $this->conn->query($sql); + function query($sql) { + # See: http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers + + try { + $r = $this->conn->query($sql); + } catch (PDOException $e) { + err(array("Db.query()",$e->getMessage(),$sql)); + $r = null; + } + + return $r; + } - function query2v($sql) { - $r = $this->conn->query($sql,PDO::FETCH_COLUMN,0); - return $r ? $r->fetch() : $r; + function row($sql,$sep=' ') { + #$sql = "SELECT * FROM addr LIMIT 1"; + $query = $this->query($sql); + $result = $query->fetch(PDO::FETCH_NUM); + if (!is_array($result)) return $result; + return join($sep,$result); + return join($sep,$query->fetch(PDO::FETCH_NUM)); } function query2a($sql) { @@ -218,15 +235,22 @@ EOF; $html = ' onchange="this.parentElement.submit()"'; $r = '