Page 1 sur 1

Affiché un texte différent toute les 3 fois

Posté : 27 avr. 2017, 07:11
par blinz
Salut à tous.
J'ai une boucle qui me permet d'afficher mes entrées, aucun problème ça marche.

J'aimerais cependant affiché un texte différent à chaque fois que tel id_type est retournée.

Exemple:
// On affiche l'id type, exemple: 3 ou 4 ou 12
while($ligne = $req->fetch(PDO::FETCH_ASSOC)){  
<p itemprop="description">'.$ligne[' id_type'].'</p>
}

// Maintenant j'aimerais affiché à la place:
// Sortie divers
	$tab_type[9][0] = 'Premier texte ';
	$tab_type[9][1] = 'Deuxième texte ';
	$tab_type[9][2] = 'Troisième texte ';

// Puis hop en recommence l'opération ....
$tab_type, Ne correspond à rien pour l'instant, c'est pour que cela soit plus parlant que j'ai mis cela ainsi
Le problème est que je pense avoir la bonne idée pour cela mais des soucis dans la mise en place.
Merci à vous

Re: Affiché un texte différent toute les 3 fois

Posté : 27 avr. 2017, 10:49
par @rthur
Bonjour,
J'ai une boucle qui me permet d'afficher mes entrées, aucun problème ça marche.
Euh... on est d'accord que le code de ta boucle en l'état ne marche pas du tout ? Il manque un echo et il y a un espace en trop avant id_type ?
J'aimerais cependant affiché un texte différent à chaque fois que tel id_type est retournée.
2 possibilités :
- Soit tu fais des if(),
- Soit tu fais un tableau en mettant en index les id_type et en valeur le texte que tu veux (ce que tu semble avoir fait) et ensuite pour l'affichage tu va chercher la valeur correspondant à id_type : $tab_type[9][$ligne['id_type']]

Re: Affiché un texte différent toute les 3 fois

Posté : 28 avr. 2017, 19:37
par blinz
Bonjour,
Alors effefctivement le code n'est pas complet, c'est pour facilité la lecture du problème en lui même
Voici ma boucle avec le minimum pour que ça soit compréhensible :
while($ligne = $req->fetch(PDO::FETCH_ASSOC)){

// Test => Parametre texte différe
	if ($ligne['id_type_loisirs'] == 10){ // 1
		$texte_differe = 'Premier texte du type voiture';
	}
	elseif ($ligne['id_type_loisirs'] == 10){ // 2
		$texte_differe = 'Deuxième texte du type voiture';
	}
	elseif ($ligne['id_type_loisirs'] == 10){ // 3
		$texte_differe = 'Troisème texte du type voiture';
	}
	
	elseif ($ligne['id_type_loisirs'] == 9){ // 1
		$texte_differe = 'Premier texte du type salon';
	}
	elseif ($ligne['id_type_loisirs'] == 9){ // 2
		$texte_differe = 'Deuxième texte du type salon';
	}
	elseif ($ligne['id_type_loisirs'] == 9){ // 3
		$texte_differe = 'Troisème texte du type salon';
	}

// J'affiche les texte différents ds la variable $texte_differe
echo '
<div class="tr-post col-sm-3">
     <div>'.$texte_differe.'</div>
 </div>';
}
Voilà j'ai donc essayé avec les if mais bon ça ne marche pas quel est le problème selon vous ?
Le but étant que la premiere fois qu'il rencontre tel id_type_loisirs on attribut tel valeur la deuxième tel valeur et la troisième fois l'autre valeur.
Ce pour chaque id_type_loisirs

Actuellement ça m'affiche que le premier à savoir : Premier texte du type voiture

Merci à vous

Re: Affiché un texte différent toute les 3 fois

Posté : 28 avr. 2017, 19:45
par or 1
$tab_type[9][0] = 'Premier texte ';
$tab_type[9][1] = 'Deuxième texte ';
$tab_type[9][2] = 'Troisième texte ';
$i = 0;
while( ... ){
$pos = $i % 3;
$s = $tab_type[$ligne['id_type_loisirs']][$pos];
$i++;
echo $s;
}

Re: Affiché un texte différent toute les 3 fois

Posté : 28 avr. 2017, 21:13
par blinz
Alors tout simplement parfait.
Code simple et efficace, comme souvent
Grand merci très franchement !