12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <?php
- function get_max_chado_rank($tablename, $where_options) {
- $where = array();
-
-
- $args = array();
- $i = 0;
- $sql = "
- SELECT max(rank) as max_rank, count(rank) as count
- FROM {:table}
- WHERE 1=1
- ";
- $args[":table"] = $tablename;
- foreach ($where_options as $key => $val_array) {
- if (preg_match('/INT/', $val_array['type'])) {
- $sql .= " AND $key = :$key$i ";
- $args[":$key$i"] = $val_array['value'];
- }
- else {
- if ($val_array['exact']) {
- $operator = '=';
- }
- else {
- $operator = '~';
- }
- $sql .= " AND $key $operator :$key$i ";
- $args[":$key$i"] = $val_array['value'];
- }
- $i++;
- }
-
- $result = chado_query($sql, $tablename, $args)->fetchObject();
-
- if ($result->count > 0) {
- return $result->max_rank;
- }
- else {
- return -1;
- }
- }
|