Bonjour,
Je suis en version 3.0.6 et le champ recherche en haut à droite de la page ne me retourne aucun résultat, or ma recherche contient un mot qui est présent dans certains titre de ticket.
Etes-vous au courant de cela ?
Merci
Cdt
La recherche ne fonctionne pas
-
- Gsup LEVEL 1
- Messages : 11
- Enregistré le : ven. 21 févr. 2014 09:56
Serveur: GestSup: 3.1.9 | OS: Debian 7 | Apache: 2.2.22 | MySQL: 5.5.49 | PHP: 5.4.45
-
- Gsup LEVEL 0
- Messages : 7
- Enregistré le : mar. 25 févr. 2014 11:54
Bonjour,
Effectivement, les éléments qui n'ont pas de ligne dans le thread ne sont pas retrouvés dans la recherche...
A mon avis il faudrait modifier la page searchengine.php comme ça
Clément
Effectivement, les éléments qui n'ont pas de ligne dans le thread ne sont pas retrouvés dans la recherche...
A mon avis il faudrait modifier la page searchengine.php comme ça
Code : Tout sélectionner
<?php
################################################################################
# @Name : searchengine.php
# @Desc : search engine in database tickets
# @call : /dashboard.php
# @paramters : keywords
# @Autor : Flox
# @Create : 12/01/2011
# @Update : 03/09/2013
# @Version : 2.9
################################################################################
//initialize Session variables
if(!isset($_SESSION['user_id'])) $_SESSION['user_id'] = '';
//case when keywords contain '
$keywords = str_replace("'","\'",$keywords);
//keywords table space separation
$keyword=explode(" ",$keywords);
//count $keywords
$nbkeyword= sizeof($keyword);
if ($nbkeyword==2)
{
$from = "
FROM tincidents
LEFT JOIN tcategory ON tincidents.category=tcategory.id
LEFT JOIN tsubcat ON tincidents.subcat=tsubcat.id
LEFT JOIN tstates ON tincidents.state=tstates.id
LEFT JOIN tthreads ON tincidents.id=tthreads.ticket
WHERE
(tincidents.title LIKE '%$keyword[0]%' OR
tincidents.description LIKE '%$keyword[0]%' OR
tthreads.text LIKE '%$keyword[0]%' OR
tsubcat.name LIKE '$keyword[0]' OR
tcategory.name LIKE '$keyword[0]' OR
tincidents.id = '$keyword[0]' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%'))
AND
(tincidents.title LIKE '%$keyword[1]%' OR
tincidents.description LIKE '%$keyword[1]%' OR
tthreads.text LIKE '%$keyword[1]%' OR
tsubcat.name LIKE '$keyword[1]' OR
tcategory.name LIKE '$keyword[1]' OR
tincidents.id = '$keyword[1]' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[1]%' or lastname LIKE '%$keyword[1]%'))
AND disable='0'
";
// $from = "
// FROM tincidents, tstates, tthreads
// WHERE
// tincidents.state=tstates.id AND
// tincidents.id=tthreads.ticket AND
// (title LIKE '%$keyword[0]%' OR
// tincidents.description LIKE '%$keyword[0]%' OR
// tthreads.text LIKE '%$keyword[0]%' OR
// tincidents.id = '$keyword[0]' OR
// tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%'))
// AND
// (tincidents.title LIKE '%$keyword[1]%' OR
// tincidents.description LIKE '%$keyword[1]%' OR
// tthreads.text LIKE '%$keyword[1]%' OR
// tincidents.id LIKE '$keyword[1]' OR
// tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[1]%' or lastname LIKE '%$keyword[1]%'))
// AND disable='0'
// ";
}
else if ($nbkeyword==3)
{
$from = "
FROM tincidents
LEFT JOIN tcategory ON tincidents.category=tcategory.id
LEFT JOIN tsubcat ON tincidents.subcat=tsubcat.id
LEFT JOIN tstates ON tincidents.state=tstates.id
LEFT JOIN tthreads ON tincidents.id=tthreads.ticket
WHERE
(tincidents.title LIKE '%$keyword[0]%' OR
tincidents.description LIKE '%$keyword[0]%' OR
tthreads.text LIKE '%$keyword[0]%' OR
tsubcat.name LIKE '$keyword[0]' OR
tcategory.name LIKE '$keyword[0]' OR
tincidents.id = '$keyword[0]' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%'))
AND
(tincidents.title LIKE '%$keyword[1]%' OR
tincidents.description LIKE '%$keyword[0]%' OR
tthreads.text LIKE '%$keyword[0]%' OR
tsubcat.name LIKE '$keyword[0]' OR
tcategory.name LIKE '$keyword[0]' OR
tincidents.id = '$keyword[0]' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%'))
AND
(tincidents.title LIKE '%$keyword[2]%' OR
tincidents.description LIKE '%$keyword[2]%' OR
tthreads.text LIKE '%$keyword[2]%' OR
tsubcat.name LIKE '$keyword[2]' OR
tcategory.name LIKE '$keyword[2]' OR
tincidents.id = '$keyword[2]' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[2]%' or lastname LIKE '%$keyword[2]%'))
AND disable='0'
";
// $from = "
// FROM tincidents, tstates, tthreads
// WHERE
// tincidents.state=tstates.id AND
// tincidents.id=tthreads.ticket AND
// (tincidents.title LIKE '%$keyword[0]%' OR
// tincidents.description LIKE '%$keyword[0]%' OR
// tthreads.text LIKE '%$keyword[0]%' OR
// tincidents.id = '$keyword[0]' OR
// tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%'))
// AND
// (tincidents.title LIKE '%$keyword[1]%' OR
// tincidents.description LIKE '%$keyword[1]%' OR
// tthreads.text LIKE '%$keyword[1]%' OR
// tincidents.id LIKE '$keyword[1]' OR
// tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[1]%' or lastname LIKE '%$keyword[1]%'))
// AND
// (tincidents.title LIKE '%$keyword[2]%' OR
// tincidents.description LIKE '%$keyword[2]%' OR
// tthreads.text LIKE '%$keyword[2]%' OR
// tincidents.id LIKE '$keyword[2]' OR
// tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[2]%' or lastname LIKE '%$keyword[2]%'))
// AND disable='0'
// ";
}
else
{
$from = "
FROM tincidents
LEFT JOIN tcategory ON tincidents.category=tcategory.id
LEFT JOIN tsubcat ON tincidents.subcat=tsubcat.id
LEFT JOIN tstates ON tincidents.state=tstates.id
LEFT JOIN tthreads ON tincidents.id=tthreads.ticket
WHERE
(
tincidents.title LIKE '%$keyword[0]%' OR
tincidents.description LIKE '%$keyword[0]%' OR
tthreads.text LIKE '%$keyword[0]%' OR
tsubcat.name LIKE '$keyword[0]' OR
tcategory.name LIKE '$keyword[0]' OR
tincidents.id = '$keyword[0]' OR
tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%')
)
AND disable='0'
";
}
// else
// {
// $from = "
// FROM tincidents, tcategory, tsubcat, tstates, tthreads
// WHERE
// tincidents.state=tstates.id AND
// tincidents.subcat=tsubcat.id AND
// tincidents.category=tcategory.id AND
// tincidents.id=tthreads.ticket AND
// (
// tincidents.title LIKE '%$keyword[0]%' OR
// tincidents.description LIKE '%$keyword[0]%' OR
// tthreads.text LIKE '%$keyword[0]%' OR
// tsubcat.name LIKE '$keyword[0]' OR
// tcategory.name LIKE '$keyword[0]' OR
// tincidents.id = '$keyword[0]' OR
// tincidents.user LIKE (SELECT max(id) FROM tusers where firstname LIKE '%$keyword[0]%' or lastname LIKE '%$keyword[0]%')
// )
// AND disable='0'
// ";
// }
?>
Effectivement cela fonctionnerai mais la jointure gauche entraîne une grande perte de performance sur les grosses bases.
Normalement tout ticket à obligatoirement une entrée thread avec la date d'ouverture.
Vérifier que vous avez également bien une catégorie de renseignée.
cdt
Normalement tout ticket à obligatoirement une entrée thread avec la date d'ouverture.
Vérifier que vous avez également bien une catégorie de renseignée.
cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
-
- Gsup LEVEL 1
- Messages : 28
- Enregistré le : lun. 18 févr. 2013 18:23
Bonjour,
Je me permets de remonter ce post pour une raison simple,
lors du basculement d'une base de données de la version 2 a la version 3, la table thread n'est pas remplie .... donc on perd l'historique dans la recherche.
Cordialement,
Je me permets de remonter ce post pour une raison simple,
lors du basculement d'une base de données de la version 2 a la version 3, la table thread n'est pas remplie .... donc on perd l'historique dans la recherche.
Cordialement,
Bonjour,
pouvez vous essayer de passer cette requête et me redire. merci
pouvez vous essayer de passer cette requête et me redire. merci
Code : Tout sélectionner
INSERT INTO `tthreads` (
`id` ,
`ticket` ,
`date` ,
`author` ,
`text` ,
`type` ,
`tech1` ,
`tech2` ,
`group1` ,
`group2` ,
`user`
)
SELECT NULL,id,0,0,0,0,9,0,0,0 FROM tincidents WHERE tincidents.disable=0 AND id NOT IN (SELECT ticket FROM tthreads);
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/