]> git.mjollnir.org Git - moodle.git/commitdiff
Extended number of select fields allowed for get_field() and set_field() from 1 to 3
authormoodler <moodler>
Sat, 26 Apr 2003 12:38:04 +0000 (12:38 +0000)
committermoodler <moodler>
Sat, 26 Apr 2003 12:38:04 +0000 (12:38 +0000)
lib/datalib.php

index f4112e80a92bc604fff0b3f5c712cb49bd9ffa71..427540f7c8e561b4b8bf35861ce1e2f871d4f695 100644 (file)
@@ -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");
 }