Joomla.it Forum
Non solo Joomla... => Pubblica Amministrazione => Albo Pretorio On Line => : Giaxx 17 Jan 2011, 15:40:51
-
ciao Vales;
ho notato che questo tipo di ricerca non funziona bene. a te risulta?
-
vediamo se ho capito:
dal (legge data inizio pubblicazione)
al (legge data fine pubblicazione)
quindi se cerco dal 20-01-2011 al 30-01-2011
mi trova anche un atto pubblicato dal 18-01-2011 al 25-01-2011
se è cosi, secondo me è un po fuorviante.
non sarebbe meglio far leggere solo le date di inzio pubblicazione?
cioè:
dal (legge data inizio pubb) al (legge data inizio pubb) e trova tutti gli atti che sono stati pubblicati entro questo range.
ciao
-
Lo scopo con cui è costruita quella ricerca è far vedere gli atti in corso di pubblicazione in un certo intervallo dal xxxxxx al yyyyyyy
Mi sembra coerente la cosa. Nelle etichette c'è scritto dal al. Non da inizio pubblicazione a fine pubblicazione.
In questa ci stanno anche quelli che hanno iniziato la pubblicazione il quel periodo quindi, chi cerca quelli, li trova.
-
ok grazie,
ma se io volessi fare una ricerca dal al solo considerando le date di inizio, cosa e come dovrei modificare il codice?
-
Va attrezzata la query della connessione per fare la ricerca con quel criterio adattando filtri.
Quindi vorresti fare con la data inizio pubblicazione compresa fra dal - al?
-
Va attrezzata la query della connessione per fare la ricerca con quel criterio adattando filtri.
Quindi vorresti fare con la data inizio pubblicazione compresa fra dal - al?
esatto
un'altra cosa che ho segnalato tempo fa:
nella ricerca per nome atto sarebbe meglio se avvenisse per tutte le parole e non solo per frase esatta
esempio: nome atto: concorso per vigili urbani
se cerco "concorso vigili" non trova nulla
-
Per sistemare quella ricerca dovresti agire sul questo codice in WHERE SQL della connessione
ricerca_albo_pretorio, consiglio di fare una copia uguale e poi fare dei tentativi.
if (JRequest::getVar('datainizio_atto','','post') <> "" && JRequest::getVar('datafine_atto','','post')<>"") {
$cerca[] = "(((`datainizio_atto` >= '".$inizio."') AND
(`datainizio_atto` <= '".$fine."') ) OR
"."((`datafine_atto` >= '".$inizio."') AND
(`datafine_atto` <= '".$fine."' )) OR "
."((`datainizio_atto` >= '".$inizio."') AND
(`datafine_atto` <= '".$fine."' )) OR "
."((`datainizio_atto` <= '".$inizio."') AND
(`datafine_atto` >= '".$fine."' ))) ";
}
if (JRequest::getVar('datainizio_atto','','post') <> "" && JRequest::getVar('datafine_atto','','post')=="") {
$cerca[] = "((`datainizio_atto` <= '".$inizio."' AND `datafine_atto` >= '".$inizio."' ) OR (`datainizio_atto` = '".$inizio."' AND `datafine_atto` IS NULL ))";
}
penso dovresti togliere tutti i casi in cui datainizio_atto è minore di $inizio.
L'altro tipo di ricerca al momento non è possibile perchè non fa la ricerca parola per parola ma solo se tutto quello che è inserito nel campo di ricerca inteso con frase o stringa intera è contenuto nel campo nel database.