Page 1 sur 1

Afficher un texte différent selon un id

Posté : 11 juin 2016, 12:40
par yoann38
Salut à tous.
Je fait une requete qui permet de recupérer chaque catégorie de ma table pas de problème.
Maintenant j'aimerais afficher un texte différent selon la catégorie
exemple:
Si id_type_loisirs = 4 alors on affiche "c'est une chaise"
Si id_type_loisirs = 5 alors on affiche "c'est un tabouret"
Si id_type_loisirs = 6 alors on affiche "....."

J'ai donc fait ceci mais je bloque un peu pour affiche le texte selon la catégorie, merci à vous
// On affiche les dernieres sorties concert enregistrées de la ville renseignée
		$exemple_loisirs = ("SELECT * FROM `loisirs` WHERE id_region = '".$region_id."' GROUP BY `loisirs`.`id_type_loisirs` LIMIT 0,5");
		$req = $bdd->query($exemple_loisirs);	
		while($sortie = $req->fetch(PDO::FETCH_ASSOC)){  
		// Formatage des date en fr
		$dated = DateTime::createFromFormat('Y-m-d H:i:s', $sortie['date_debut_sortie']);
		$date_loisir = $ligne['date_debut_sortie'] = ucfirst($jour[$dated->format('N')]).' '.$dated->format('d').' '.ucfirst($mois[$dated->format('n')]).' '.$dated->format('Y');
		
		if ($ligne['id_type_loisirs'] = 10 ) {
		$result_loisirs .=  '<em>'.ucfirst (strtolower($sortie['titre'])).' à la salle  ('.ucfirst (strtolower($sortie['manufacturer'])).'), le '.$date_loisir.'</em>. ';
		}
		elseif ($ligne['id_type_loisirs'] = 4 ) {
		$result_loisirs .=  'vide-grenier en test';
		}
	}

echo $result_loisirs.' ;

Re: Afficher un texte différent selon un id

Posté : 12 juin 2016, 22:26
par moogli
Salut

Tu as ce qu'il faut avec le elseif avec une alternative par categorie

Une meilleure solutiin serait surement davoir ca en base de données dans la table des types loisirs.
Une colonne de plus dans la table et une jointure dans la requete sql pour que ca fonctionne.

Dans le meme genre tu peux mettre le changement de format de la date dans le select c'est plus simple et plus performant.
En meme temps ca permet dajouter les noms de colonne c'est plus lisible :) (surtout quand tu partages le code comme ici).

Le group by est inutile sans fonction de groupe (genre count). Pour ordonner utilise order by .

@+

Re: Afficher un texte différent selon un id

Posté : 13 juin 2016, 10:06
par Spols
un double égal == dans tes conditions devrait améliorer le fonctionement.

Avec un seul égal, il s'agit d'uen affectation qui renvoie TRUE si elle est faite