Fixing queries

skala
Julio Montoya 14 years ago
parent 2a962feaea
commit 0b36a2d2db
  1. 35
      main/newscorm/learnpath.class.php

@ -197,7 +197,7 @@ class learnpath {
// Now get the latest attempt from this user on this LP, if available, otherwise create a new one. // Now get the latest attempt from this user on this LP, if available, otherwise create a new one.
$lp_table = Database::get_course_table(TABLE_LP_VIEW); $lp_table = Database::get_course_table(TABLE_LP_VIEW);
// Selecting by view_count descending allows to get the highest view_count first. // Selecting by view_count descending allows to get the highest view_count first.
$sql = "SELECT * FROM $lp_table WHERE c_id = '.$course_id.' AND lp_id = '$lp_id' AND user_id = '$user_id' $session ORDER BY view_count DESC"; $sql = "SELECT * FROM $lp_table WHERE c_id = $course_id AND lp_id = '$lp_id' AND user_id = '$user_id' $session ORDER BY view_count DESC";
if ($this->debug > 2) { error_log('New LP - learnpath::__construct() ' . __LINE__ . ' - querying lp_view: ' . $sql, 0); } if ($this->debug > 2) { error_log('New LP - learnpath::__construct() ' . __LINE__ . ' - querying lp_view: ' . $sql, 0); }
$res = Database::query($sql); $res = Database::query($sql);
$view_id = 0; // Used later to query lp_item_view. $view_id = 0; // Used later to query lp_item_view.
@ -302,10 +302,9 @@ class learnpath {
// Get last viewing vars. // Get last viewing vars.
$lp_item_view_table = Database :: get_course_table(TABLE_LP_ITEM_VIEW); $lp_item_view_table = Database :: get_course_table(TABLE_LP_ITEM_VIEW);
// This query should only return one or zero result. // This query should only return one or zero result.
$sql = "SELECT * " . $sql = "SELECT * FROM $lp_item_view_table
"FROM $lp_item_view_table " . WHERE c_id = $course_id AND lp_view_id = ".$this->lp_view_id." AND lp_item_id = ".$row['id']."
"WHERE c_id = ".$course_id." AND lp_view_id = " . $this->lp_view_id . " " . ORDER BY view_count DESC ";
"AND lp_item_id = " . $row['id'] . " ORDER BY view_count DESC ";
if ($this->debug > 2) { if ($this->debug > 2) {
error_log('New LP - learnpath::__construct() - Selecting item_views: ' . $sql, 0); error_log('New LP - learnpath::__construct() - Selecting item_views: ' . $sql, 0);
} }
@ -393,8 +392,8 @@ class learnpath {
$title = $this->escape_string($title); $title = $this->escape_string($title);
$description = $this->escape_string($description); $description = $this->escape_string($description);
$sql_count = " SELECT COUNT(id) AS num $sql_count = " SELECT COUNT(id) AS num
FROM " . $tbl_lp_item . " FROM $tbl_lp_item
WHERE c_id = ".$course_id." AND lp_id = " . $this->get_id() . " AND parent_item_id = " . $parent; WHERE c_id = $course_id AND lp_id = " . $this->get_id() . " AND parent_item_id = " . $parent;
$res_count = Database::query($sql_count); $res_count = Database::query($sql_count);
$row = Database :: fetch_array($res_count); $row = Database :: fetch_array($res_count);
@ -404,7 +403,7 @@ class learnpath {
if ($previous == 0) { if ($previous == 0) {
$sql = "SELECT id, next_item_id, display_order $sql = "SELECT id, next_item_id, display_order
FROM " . $tbl_lp_item . " FROM " . $tbl_lp_item . "
WHERE c_id = ".$course_id." AND WHERE c_id = $course_id AND
lp_id = " . $this->get_id() . " AND lp_id = " . $this->get_id() . " AND
parent_item_id = " . $parent . " AND parent_item_id = " . $parent . " AND
previous_item_id = 0 OR previous_item_id=" . $parent; previous_item_id = 0 OR previous_item_id=" . $parent;
@ -417,8 +416,8 @@ class learnpath {
} else { } else {
$previous = (int) $previous; $previous = (int) $previous;
$sql = "SELECT id, previous_item_id, next_item_id, display_order $sql = "SELECT id, previous_item_id, next_item_id, display_order
FROM " . $tbl_lp_item . " FROM $tbl_lp_item
WHERE c_id = ".$course_id." AND lp_id = " . $this->get_id() . " AND id = " . $previous; WHERE c_id = $course_id AND lp_id = " . $this->get_id() . " AND id = " . $previous;
$result = Database::query($sql); $result = Database::query($sql);
$row = Database :: fetch_array($result); $row = Database :: fetch_array($result);
@ -611,7 +610,7 @@ class learnpath {
// Session id. // Session id.
$session_id = api_get_session_id(); $session_id = api_get_session_id();
$check_name = "SELECT * FROM $tbl_lp WHERE c_id = ".$course_id." AND name = '$name'"; $check_name = "SELECT * FROM $tbl_lp WHERE c_id = $course_id AND name = '$name'";
//if ($this->debug > 2) { error_log('New LP - Checking the name for new LP: '.$check_name, 0); } //if ($this->debug > 2) { error_log('New LP - Checking the name for new LP: '.$check_name, 0); }
$res_name = Database::query($check_name); $res_name = Database::query($check_name);
@ -639,7 +638,7 @@ class learnpath {
// There is already one such name, update the current one a bit. // There is already one such name, update the current one a bit.
$i++; $i++;
$name = $name . ' - ' . $i; $name = $name . ' - ' . $i;
$check_name = "SELECT * FROM $tbl_lp WHERE c_id = ".$course_id." AND name = '$name'"; $check_name = "SELECT * FROM $tbl_lp WHERE c_id = $course_id AND name = '$name'";
//if ($this->debug > 2) { error_log('New LP - Checking the name for new LP: '.$check_name, 0); } //if ($this->debug > 2) { error_log('New LP - Checking the name for new LP: '.$check_name, 0); }
$res_name = Database::query($check_name); $res_name = Database::query($check_name);
} }
@ -663,7 +662,7 @@ class learnpath {
break; break;
case 'manual': case 'manual':
default: default:
$get_max = "SELECT MAX(display_order) FROM $tbl_lp WHERE c_id = ".$course_id." "; $get_max = "SELECT MAX(display_order) FROM $tbl_lp WHERE c_id = $course_id";
$res_max = Database::query($get_max); $res_max = Database::query($get_max);
if (Database :: num_rows($res_max) < 1) { if (Database :: num_rows($res_max) < 1) {
$dsp = 1; $dsp = 1;
@ -1943,8 +1942,6 @@ class learnpath {
global $_course; global $_course;
$tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM); $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM);
$tbl_lp_item_view = Database :: get_course_table(TABLE_LP_ITEM_VIEW); $tbl_lp_item_view = Database :: get_course_table(TABLE_LP_ITEM_VIEW);
// Getting all the information about the item. // Getting all the information about the item.
$sql = "SELECT * FROM " . $tbl_lp_item . " as lp INNER JOIN " . $tbl_lp_item_view . " as lp_view on lp.id = lp_view.lp_item_id " . $sql = "SELECT * FROM " . $tbl_lp_item . " as lp INNER JOIN " . $tbl_lp_item_view . " as lp_view on lp.id = lp_view.lp_item_id " .
@ -2507,7 +2504,7 @@ class learnpath {
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
$list = array(); $list = array();
$table = Database :: get_course_table(TABLE_LP_IV_OBJECTIVE); $table = Database :: get_course_table(TABLE_LP_IV_OBJECTIVE);
$sql = "SELECT * FROM $table WHERE c_id = ".$course_id." AND lp_iv_id = $lp_iv_id ORDER BY order_id ASC"; $sql = "SELECT * FROM $table WHERE c_id = $course_id AND lp_iv_id = $lp_iv_id ORDER BY order_id ASC";
$res = Database::query($sql); $res = Database::query($sql);
$num = Database :: num_rows($res); $num = Database :: num_rows($res);
if ($num > 0) { if ($num > 0) {
@ -2620,7 +2617,7 @@ class learnpath {
public function get_type_static($lp_id = 0) { public function get_type_static($lp_id = 0) {
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
$tbl_lp = Database :: get_course_table(TABLE_LP_MAIN); $tbl_lp = Database :: get_course_table(TABLE_LP_MAIN);
$sql = "SELECT lp_type FROM $tbl_lp WHERE c_id = ".$course_id." AND id = '" . $lp_id . "'"; $sql = "SELECT lp_type FROM $tbl_lp WHERE c_id = $course_id AND id = '" . $lp_id . "'";
$res = Database::query($sql); $res = Database::query($sql);
if ($res === false) { if ($res === false) {
return null; return null;
@ -3367,7 +3364,6 @@ class learnpath {
} }
$display = $display +1; $display = $display +1;
} }
break; break;
default : default :
return false; return false;
@ -7461,8 +7457,7 @@ class learnpath {
if (is_numeric($item_id)) { if (is_numeric($item_id)) {
$tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM); $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM);
$sql = "SELECT * $sql = "SELECT * FROM " . $tbl_lp_item . "
FROM " . $tbl_lp_item . "
WHERE c_id = ".$course_id." AND id = " . $item_id; WHERE c_id = ".$course_id." AND id = " . $item_id;
$res = Database::query($sql); $res = Database::query($sql);

Loading…
Cancel
Save