From ec2a28a607752adad039c79ab23478e452235d89 Mon Sep 17 00:00:00 2001 From: moodler Date: Sat, 26 Apr 2003 12:38:04 +0000 Subject: [PATCH] Extended number of select fields allowed for get_field() and set_field() from 1 to 3 --- lib/datalib.php | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/lib/datalib.php b/lib/datalib.php index f4112e80a9..427540f7c8 100644 --- a/lib/datalib.php +++ b/lib/datalib.php @@ -480,12 +480,21 @@ function get_records_sql_menu($sql) { } } -function get_field($table, $return, $field, $value) { +function get_field($table, $return, $field1, $value1, $field2="", $value2="", $field3="", $value3="") { /// Get a single field from a database record global $db, $CFG; - $rs = $db->Execute("SELECT $return FROM $CFG->prefix$table WHERE $field = '$value'"); + $select = "WHERE $field1 = '$value1'"; + + if ($field2) { + $select .= " AND $field2 = '$value2'"; + if ($field3) { + $select .= " AND $field3 = '$value3'"; + } + } + + $rs = $db->Execute("SELECT $return FROM $CFG->prefix$table $select"); if (empty($rs)) return false; if ( $rs->RecordCount() == 1 ) { @@ -495,12 +504,21 @@ function get_field($table, $return, $field, $value) { } } -function set_field($table, $newfield, $newvalue, $field, $value) { +function set_field($table, $newfield, $newvalue, $field1, $value1, $field2="", $value2="", $field3="", $value3="") { /// Set a single field in a database record global $db, $CFG; - return $db->Execute("UPDATE $CFG->prefix$table SET $newfield = '$newvalue' WHERE $field = '$value'"); + $select = "WHERE $field1 = '$value1'"; + + if ($field2) { + $select .= " AND $field2 = '$value2'"; + if ($field3) { + $select .= " AND $field3 = '$value3'"; + } + } + + return $db->Execute("UPDATE $CFG->prefix$table SET $newfield = '$newvalue' $select"); } -- 2.39.5