Subversion Repositories eFlore/Applications.cel

Rev

Rev 1499 | Rev 1550 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1499 Rev 1506
Line 378... Line 378...
378
			'		ON (coi.id_image = cim.id_image) '.
378
			'		ON (coi.id_image = cim.id_image) '.
379
			'	LEFT JOIN cel_obs AS ci '.
379
			'	LEFT JOIN cel_obs AS ci '.
380
			'		ON (coi.id_observation = ci.id_observation) '.
380
			'		ON (coi.id_observation = ci.id_observation) '.
381
			(($this->etreFluxAdmin()) ? '' : 'WHERE ci.transmission = 1 ').
381
			(($this->etreFluxAdmin()) ? '' : 'WHERE ci.transmission = 1 ').
382
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'cim.date_creation DESC').' '.
382
			'ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'cim.date_creation DESC').' '.
383
			"LIMIT "; //$this->start, $this->limit ";
383
			"LIMIT $this->start, $this->limit ";
384
 
-
 
-
 
384
		//echo $requete;
385
		$elements = $this->executerRequete($requete);
385
		$elements = $this->executerRequete($requete);
Line 386... Line 386...
386
 
386
 
387
		// Création du contenu
387
		// Création du contenu
388
		if ($elements != false && count($elements) > 0) {
388
		if ($elements != false && count($elements) > 0) {
Line 423... Line 423...
423
	}
423
	}
Line 424... Line 424...
424
	
424
 
425
	private function creerRequeteSansParametres() {
425
	private function creerRequeteSansParametres() {
426
		// Première sous requete pour que le limite se fasse d'abord sur les images
426
		// Première sous requete pour que le limite se fasse d'abord sur les images
427
		// et pas la jointure de toutes les tables
427
		// et pas la jointure de toutes les tables
-
 
428
		$sous_requete = 'SELECT * '.
428
		$sous_requete_limitative = 'SELECT * FROM cel_images c '.
429
			'FROM cel_images c '.
429
										   ' WHERE id_image '.
430
			'WHERE id_image '.
430
										   ' IN (SELECT id_image FROM cel_obs_images a '.
431
			' IN (SELECT id_image FROM cel_obs_images a '.
431
			(($this->etreFluxAdmin()) ? '' : 'INNER JOIN cel_obs b ON b.id_observation = a.id_observation AND b.transmission = 1 ').
432
			(($this->etreFluxAdmin()) ? '' : 'INNER JOIN cel_obs b ON b.id_observation = a.id_observation AND b.transmission = 1 ').
432
											') ';
433
			') ';
433
		$sous_requete_limitative .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'c.date_creation DESC').' '.
434
		$sous_requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  : 'c.date_creation DESC').' '.
Line 434... Line 435...
434
											"LIMIT $this->start,$this->limit ";
435
			"LIMIT $this->start,$this->limit ";
435
		
436
 
436
		// Construction de la requête
437
		// Construction de la requête
437
		$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
438
		$requete = 'SELECT *, b.mots_cles_texte as mots_cles_texte_obs, c.mots_cles_texte as mots_cles_texte_images, '.
438
				    ' b.commentaire as commentaire_obs, c.commentaire as commentaire_img '.
439
			' b.commentaire as commentaire_obs, c.commentaire as commentaire_img '.
439
					'FROM ('.$sous_requete_limitative.') as c '.
440
			'FROM ('.$sous_requete.') as c '.
440
					'	INNER JOIN cel_obs_images AS a '.
441
			'	INNER JOIN cel_obs_images AS a '.
441
					'		ON (a.id_image = c.id_image) '.
442
			'		ON (a.id_image = c.id_image) '.
442
					'	INNER JOIN cel_obs AS b '.
-
 
-
 
443
			'	INNER JOIN cel_obs AS b '.
443
					'		ON (a.id_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
444
			'		ON (a.id_observation = b.id_observation) AND b.ce_utilisateur = c.ce_utilisateur ';
444
		
445
		//echo $requete;
Line 445... Line 446...
445
		return $requete;
446
		return $requete;
446
	}
447
	}
Line 469... Line 470...
469
		}
470
		}
470
		$requete = str_replace(' AND ) ',' ', $requete);
471
		$requete = str_replace(' AND ) ',' ', $requete);
471
		$requete = rtrim($requete, 'AND ');
472
		$requete = rtrim($requete, 'AND ');
472
		$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  :
473
		$requete .= ' ORDER BY '.(isset($this->orderby) && (!is_null($this->orderby)) ? $this->orderby  :
473
			'c.date_creation DESC').' '."LIMIT $this->start,$this->limit ";
474
			'c.date_creation DESC').' '."LIMIT $this->start,$this->limit ";
474
		
-
 
-
 
475
		//echo $requete;
475
		return $requete;
476
		return $requete;
476
	}
477
	}
Line 477... Line 478...
477
 
478
 
478
	private function creerSousRequeteRechercheParCriteres($criteres) {
479
	private function creerSousRequeteRechercheParCriteres($criteres) {