function related_search() { //relatedsearch// $this->rapyd->load("datafilter", "datagrid"); $artid = intval($this->uri->segment(4)); $filter = new DataFilter("Search Associable Articles", "articles"); $filter->db->where("article_id<>", $artid); ## subqueries works only for mysql4.1+ //$filter->db->where("article_id NOT IN // (SELECT rel_id FROM articles_related WHERE art_id = $artid) //"); $subquery = $this->db->query("SELECT rel_id FROM articles_related WHERE art_id = {$artid}"); if ($subquery->num_rows() > 0) { foreach ($subquery->result_array() as $row) { $rels[] = $row["rel_id"]; } $not_in = join(",", $rels); $filter->db->where("article_id NOT IN ({$not_in})"); } $filter->title = new inputField("title", "title"); $filter->artid = new inputField("article id", "article_id"); $filter->artid->clause = "where"; $filter->buttons("reset", "search"); $uri = site_url("rapyd/supercrud/related/{$artid}/related"); $action = "javascript:window.location='" . $uri . "';"; $filter->button_status("btn_undo", "Undo", $action, "TR", "create", "button"); $filter->build(); $grid = new DataGrid("List of associable articles"); $grid->per_page = 6; $grid->column_orderby("article id", "article_id", "article_id", 'width="100"'); $grid->column_orderby("title", "title", "title"); $link = anchor("rapyd/supercrud/related_add/{$artid}/to/<#article_id#>", "add rel"); $grid->column("add rel", $link); $grid->build(); $head = $this->rapyd->get_head(); $this->loadiframe($filter->output . $grid->output, $head, "related"); //endrelatedsearch// }