Chiedo aiuto con questo codice

dariop123

Nuovo Utente
23 Dic 2008
3
0
1
dariopironi.com
Salve ho un serio problema con questa parte di codice che ha il compito di cercare informazioni all'interno del sito
PHP:
if ($direct_fields) {
            switch ($mode) {
                case 1:
                    $direct_sub_sql = "(CONCAT_WS(' ', `T1`.`" . implode("`, `T1`.`", $direct_fields) . "`) RLIKE '" . implode("?|", $query_exploded) . "?') ";
                    if ($query_count > 1) {
                        foreach ($query_exploded as $query_exploded_item) {
                            $direct_sub_select_sql .= ", SUM(IF(CONCAT_WS(' ', `T1`.`" . implode("`, `T1`.`", $direct_fields) . "`) RLIKE '{$query_exploded_item}?', 1, 0)) AS `{$query_exploded_item}` ";
                        }
                    }
                    $direct_concat_sign = 'AND';
                    break;
                case 2:
                    $direct_sub_sql     = "(CONCAT_WS(' ', `T1`.`" . implode("`, `T1`.`", $direct_fields) . "`) RLIKE '" . implode("?|", $query_exploded) . "?') ";
                    $direct_concat_sign = 'OR';
                    break;
                case 3;
                    $direct_sub_sql     = "CONCAT_WS(' ', `T1`.`" . implode("`, `T1`.`", $direct_fields) . "`) LIKE '%{$query}%' ";
                    $direct_concat_sign = 'AND';
                    break;
            }
            if ($direct_sub_sql && $this->searchTest($direct_sub_sql, $type, $direct_sub_select_sql)) {
                $sub_sql .= "(";
                $sub_sql .= $direct_sub_sql;
                $sub_sql .= ")";
            } else {
                unset($direct_concat_sign);
            }
        }
Genera qualche errore che invalida la ricerca e restituisce più risultati di quelli dovuti inserendo anche cose che non centrano
 
Ultima modifica:

Discussioni simili