Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/11/2005, 03:58
Avatar de refineriaweb
refineriaweb
 
Fecha de Ingreso: junio-2004
Ubicación: Palma de Mallorca
Mensajes: 196
Antigüedad: 19 años, 10 meses
Puntos: 1
conseguido a medias... :D

Conseguido con:
Código PHP:
('SELECT id,user,category,subject,sentdate FROM tickets WHERE (sentdate >= "%'.$_GET['search'].'%") OR (sentdate <= "%'.$_GET['search'].'%")'); 
Luego en el form de busqueda tengo:
Código PHP:
<input type="checkbox" class="checkbox" name="search_in_sentdate" value="yes" {SEARCH_IN_SENTDATE}> 
Ahí marco la pestañita y luego en el input type text del submit escribo la fecha en formato ingles 2005-11-30.

Esto me consigue buscar las incidencias. Lo hace bien a medias. Lo que hace es me las lista todas como resultado, pero las que concuerda con el $_GET['search'] en este caso (2005-11-30) me las marca en rojo. Y las que no concuerdan las lista pero sin estar en rojo.

La verdad es que no soy ningun experto en php y solo hago mis experimentos modificando codigo y ultimamente estoy aprendiendo sobre recuperar datos de la DB. No he entendido el codigo:
Código PHP:
$check1 explode("-",$_GET['fechadesde']);
$check2 explode("-",$_GET['fechahasta']);
if (!
checkdate($check1[1],$check1[2],$check1[0]) OR !checkdate($check2[1],$check2[2],$check2[0])) {
  echo 
"Error en formato de las fechas";

Supongo que es la creación de las variables: $_GET['fechadesde'] y $_GET['fechahasta']

pero tampoco se donde colocarlo. Que deberia colocarlo justo antes del codigo que describo a continuación ??

Es que lo he intentado muchas veces, pero con la unica que me funciona es con la GET[search]. Y eso lo entiendo pq se que la variable search es lo que busca. De ahí que modificara ligeramente tu codigo Seppo.

El codigo total es:

Código PHP:
if (isset($_GET['search_in_sentdate']))
            {
                
// show user results
                
$sentdate_output join (''file (SCRIPT_PATH.'modules/admin/search/templates/functions/search_results_sentdate.tpl'));
                
$this->query_result $db->db_query('SELECT id,user,category,subject,sentdate FROM tickets WHERE (sentdate >= "%'.$_GET['search'].'%") OR (sentdate <= "%'.$_GET['search'].'%")');
                
$numrows $db->db_num_rows($this->query_result);
                
$i 0;
                while (
$row $db->db_fetch_array($this->query_result))
                {
                    
$row['user'] = eregi_replace($_GET['search'],'<font color="red"><b>'.$_GET['search'].'</b></font>',$row['user']);
                    
$row['subject'] = eregi_replace($_GET['search'],'<font color="red"><b>'.$_GET['search'].'</b></font>',$row['subject']);
                    
$row['sentdate'] = eregi_replace($_GET['search'],'<font color="red"><b>'.$_GET['search'].'</b></font>',$row['sentdate']);
                    
$row['category'] = eregi_replace($_GET['search'],'<font color="red"><b>'.$_GET['search'].'</b></font>',$row['category']);
                    
                    
                    
$sentdate_results[$i] = $sentdate_output;
                    
$sentdate_results[$i] = str_replace('{ID}',$row['id'],$sentdate_results[$i]);
                    
$sentdate_results[$i] = str_replace('{USER}','<a href="'.$_SERVER['PHP_SELF'].'?tpl=tickets_show_ticket&lang='.LANGUAGE.'&id='.$row['id'].'">'.$row['user'].'</a>',$sentdate_results[$i]);
                    
$sentdate_results[$i] = str_replace('{SUBJECT}','<a href="'.$_SERVER['PHP_SELF'].'?tpl=tickets_show_ticket&lang='.LANGUAGE.'&id='.$row['id'].'">'.$row['subject'].'</a>',$sentdate_results[$i]);
                    
$sentdate_results[$i] = str_replace('{CATEGORY}','<a href="'.$_SERVER['PHP_SELF'].'?tpl=tickets_show_ticket&lang='.LANGUAGE.'&id='.$row['id'].'">'.$row['category'].'</a>',$sentdate_results[$i]);
                    
$sentdate_results[$i] = str_replace('{SENTDATE}','<a href="'.$_SERVER['PHP_SELF'].'?tpl=tickets_show_ticket&lang='.LANGUAGE.'&id='.$row['id'].'">'.$row['sentdate'].'</a>',$sentdate_results[$i]);
                    
$i++;
                }
                if (
$numrows == 0)
                {
                    
$sentdate_results = array();
                }
                
$output str_replace('{RESULTS_SENTDATE}',$numrows.' {LANG_SEARCH_SENTDATE_RESULTS}<br>'.implode('',$sentdate_results),$output); 
}

Muchas gracias a todos y en especial a Seppo que gracias a el consegui la mitad de mi reto :D

Un saludo!!

Última edición por Cluster; 30/11/2005 a las 05:52