Line 399... |
Line 399... |
399 |
$criteres = $this->traiterCriteresMultiples($_GET) ;
|
399 |
$criteres = $this->traiterCriteresMultiples($_GET) ;
|
400 |
if (!empty($criteres)) {
|
400 |
if (!empty($criteres)) {
|
401 |
$requete .= $this->creerSousRequeteRechercheParCriteres($criteres);
|
401 |
$requete .= $this->creerSousRequeteRechercheParCriteres($criteres);
|
402 |
}
|
402 |
}
|
403 |
}
|
403 |
}
|
- |
|
404 |
$requete = rtrim($requete,' AND ) ');
|
404 |
$requete = rtrim($requete, 'AND ');
|
405 |
$requete = rtrim($requete, 'AND ');
|
405 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
|
406 |
$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby :
|
406 |
'c.ci_meta_date_ajout DESC').' '."LIMIT $this->start,$this->limit ";
|
407 |
'c.ci_meta_date_ajout DESC').' '."LIMIT $this->start,$this->limit ";
|
Line 407... |
Line 408... |
407 |
|
408 |
|
Line 449... |
Line 450... |
449 |
$requete = rtrim($requete,' AND ');
|
450 |
$requete = rtrim($requete,' AND ');
|
450 |
return $requete;
|
451 |
return $requete;
|
451 |
}
|
452 |
}
|
Line 452... |
Line 453... |
452 |
|
453 |
|
453 |
private function creerSousRequeteMotsCles($mot_cle) {
|
454 |
private function creerSousRequeteMotsCles($mot_cle) {
|
454 |
$requete = ' ( ';
|
455 |
$requete = '';
|
455 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
456 |
if (preg_match('/.*OU.*/', $mot_cle)) {
|
456 |
$requete = $this->creerSousRequeteMotsClesOu($mot_cle);
|
457 |
$requete = $this->creerSousRequeteMotsClesOu($mot_cle);
|
457 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
458 |
} else if (preg_match('/.*ET.*/', $mot_cle)) {
|
458 |
$requete = $this->creerSousRequeteMotsClesEt($mot_cle);
|
459 |
$requete = $this->creerSousRequeteMotsClesEt($mot_cle);
|
459 |
} else {
|
460 |
} else {
|
460 |
// Construction de la requête
|
461 |
// Construction de la requête
|
461 |
$prerequete = "SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE ".
|
462 |
$prerequete = "SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE ".
|
462 |
'cmc_id_mot_cle_general = '.$this->bdd->quote($this->encoderMotCle($mot_cle));
|
463 |
'cmc_id_mot_cle_general = '.$this->bdd->quote($this->encoderMotCle($mot_cle));
|
463 |
$elements = $this->executerRequete($prerequete);
|
464 |
$elements = $this->executerRequete($prerequete);
|
- |
|
465 |
if ($elements != false && count($elements) > 0) {
|
464 |
if ($elements != false && count($elements) > 0) {
|
466 |
$requete = ' ( ';
|
465 |
foreach ($elements as $occurence) {
|
467 |
foreach ($elements as $occurence) {
|
466 |
$requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
|
468 |
$requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
|
467 |
$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';
|
469 |
$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';
|
468 |
}
|
470 |
}
|
469 |
}
|
471 |
}echo $requete;
|
470 |
}
|
472 |
}
|
471 |
$requete = rtrim($requete,' OR ').' ) AND ';
|
473 |
$requete = rtrim($requete,' OR ').' ) AND ';
|
472 |
return $requete;
|
474 |
return $requete;
|
Line 473... |
Line 475... |
473 |
}
|
475 |
}
|
474 |
|
476 |
|
475 |
private function creerSousRequeteMotsClesOu($mot_cle) {
|
- |
|
476 |
$requete = ' ( ';
|
477 |
private function creerSousRequeteMotsClesOu($mot_cle) {
|
477 |
|
478 |
$requete = '';
|
478 |
$tab_mots_cles = explode('OU', $mot_cle);
|
479 |
$tab_mots_cles = explode('OU', $mot_cle);
|
479 |
$where = '';
|
480 |
$where = '';
|
480 |
foreach ($tab_mots_cles as $mot) {
|
481 |
foreach ($tab_mots_cles as $mot) {
|
Line 484... |
Line 485... |
484 |
|
485 |
|
485 |
// Construction de la requête
|
486 |
// Construction de la requête
|
486 |
$prerequete = "SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE $where ";
|
487 |
$prerequete = "SELECT cmc_id_mot_cle_utilisateur, cmc_id_proprietaire FROM cel_mots_cles_images WHERE $where ";
|
487 |
$elements = $this->executerRequete($prerequete);//print_r($elements);
|
488 |
$elements = $this->executerRequete($prerequete);//print_r($elements);
|
- |
|
489 |
if ($elements != false && count($elements) > 0) {
|
488 |
if ($elements != false && count($elements) > 0) {
|
490 |
$requete = ' ( ';
|
489 |
foreach ($elements as $occurence) {
|
491 |
foreach ($elements as $occurence) {
|
490 |
$requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
|
492 |
$requete .= '(ci_meta_mots_cles LIKE "%'.$occurence['cmc_id_mot_cle_utilisateur'].'%" AND ci_ce_utilisateur = '.
|
491 |
$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';
|
493 |
$this->bdd->quote($occurence['cmc_id_proprietaire']).' ) OR ';
|
492 |
}
|
494 |
}
|
493 |
}
|
495 |
}
|
494 |
return $requete;
|
496 |
return $requete;
|
Line 495... |
Line 497... |
495 |
}
|
497 |
}
|
496 |
|
498 |
|
497 |
private function creerSousRequeteMotsClesEt($mot_cle) {
|
499 |
private function creerSousRequeteMotsClesEt($mot_cle) {
|
498 |
$requete = ' ( ';
|
500 |
$requete = '';
|
499 |
$where = '';
|
501 |
$where = '';
|
500 |
$champs = 'a.cmc_id_proprietaire , ';
|
502 |
$champs = 'a.cmc_id_proprietaire , ';
|
Line 516... |
Line 518... |
516 |
|
518 |
|
517 |
// Construction de la requête
|
519 |
// Construction de la requête
|
518 |
$prerequete = "SELECT $champs FROM $table WHERE $where ";
|
520 |
$prerequete = "SELECT $champs FROM $table WHERE $where ";
|
519 |
$elements = $this->executerRequete($prerequete);//print_r($elements);
|
521 |
$elements = $this->executerRequete($prerequete);//print_r($elements);
|
- |
|
522 |
if ($elements != false && count($elements) > 0) {
|
520 |
if ($elements != false && count($elements) > 0) {
|
523 |
$requete = ' ( ';
|
521 |
foreach ($elements as $occurence) {
|
524 |
foreach ($elements as $occurence) {
|
522 |
$requete .= ' (';
|
525 |
$requete .= ' (';
|
523 |
for ($j = 'a'; $j < $i; $j++) {
|
526 |
for ($j = 'a'; $j < $i; $j++) {
|
524 |
$requete .= 'ci_meta_mots_cles like "%'.$occurence[$j].'%" AND ';
|
527 |
$requete .= 'ci_meta_mots_cles like "%'.$occurence[$j].'%" AND ';
|