Page 1 sur 1

porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:05
par malvira
bonjour @ tous,
<?php $cpt=$cpt +1; ?>
			
			<?php switch($cpt) : ?>
				<?php case 1: echo "<div class=/"post_title_1/">"; break;?>
				<?php case 2: echo "<div class=/"post_title_2/">"; break;?>
				<?php case 3: echo "<div class=/"post_title_3/">"; break;?>
				<?php case 4: echo "<div class=/"post_title_4/">"; break;?>
				<?php case 5: echo "<div class=/"post_title_5/">"; break;?>
				<?php case 6: echo "<div class=/"post_title_6/">"; $cpt=0; break;?>
			<?php endswitch; } ?>
Parse error: syntax error, unexpected T_INLINE_HTML, expecting T_ENDSWITCH or T_CASE or T_DEFAULT in /var/www/htdocs/drcplus/public/wp-content/themes/drc_themes/index.php on line 18
je ne vois pas ou est l'erreur, quelqu'un a-il déjà rencontrer ce genre d'erreur, a-t-il trouvé une solution

merci

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:09
par xTG
Cela se voit à la couleur. ;)
Pour échapper un caractère c'est \ et non /

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:29
par malvira
Merci En effet je viens de corriger , mais cela ne résout pas mon problème
<?php switch($cpt) : ?>
				<?php case 1: echo "<div class=\"post_title_1\">"; break;?>
				<?php case 2: echo "<div class=\"post_title_2\">"; break;?>
				<?php case 3: echo "<div class=\"post_title_3\">"; break;?>
				<?php case 4: echo "<div class=\"post_title_4\">"; break;?>
				<?php case 5: echo "<div class=\"post_title_5\">"; break;?>
				<?php case 6: echo "<div class=\"post_title_6\">"; $cpt=0; break;?>
			<?php endswitch; } ?>

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:33
par Mazarini
<?php 
$cpt=$cpt +1; 
switch($cpt)
{
    case 1: 
          echo "<div class=\"post_title_1\">"; 
          break;
    Case....
}
?>

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:45
par malvira
Merci...

problème résolu
<?php switch($cpt) :
				case 1: 
					echo "<div class=\"post_title_1\">"; 
					break;
				case 2: 
					echo "<div class=\"post_title_2\">"; 
					break;
				case 3: 
					echo "<div class=\"post_title_3\">"; 
					break;
				case 4: 
					echo "<div class=\"post_title_4\">"; 
					break;
				case 5: 
					echo "<div class=\"post_title_5\">"; 
					break;
				case 6: 
					echo "<div class=\"post_title_6\">"; 
					$cpt=0; 
					break;
			endswitch; ?>

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:49
par popy
Et pk pas

Code : Tout sélectionner

echo "<div class=\"post_title_$cpt\">";
?

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 11:53
par Mazarini
Je ne connaissais pas les endif;, endwhile;, endfor;, endforeach;, et endswitch;

Autrement, echo '<div class="post_title_$cpt">'; est mieux car php n’interprète pas ce qui est entre quotes.

Edit oops mauvais copier/coller, pas vu le $cpt.

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 12:05
par malvira
en effet on pourrait faire un truc du style

$cpt= cpt+1;

$varstyle = "post_title_";
$varstyle= $varstyle . $cpt;

echo "<div class=$varstyle>";

if ($cpt == 6) $cpt=0;
 

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 12:25
par xTG
if ($cpt == 6) $cpt=0;
Dans ce cas :
$cpt = ($cpt+1) % 6;

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 18:01
par malvira
je vois pas trop ou tu veux en venir avec la ligne de code qui suit

moi mon but est dans la boucle de wordpress changer les styles des titres tous les x

titre post 1 = couleur 1
titre post 2 = couleur 2
titre post 3 = couleur 3
titre post 4 = couleur 4
titre post 5 = couleur 5
titre post 6 = couleur 6
titre post 7 = couleur 1
titre post 8 = couleur 2
titre post 9 = couleur 3

etc...
$cpt = ($cpt+1) % 6;

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 18:06
par xTG
C'est l'opérateur modulo qui te pose problème ?

Code : Tout sélectionner

0 % 6 = 0 1 % 6 = 1 2 % 6 = 2 3 % 6 = 3 4 % 6 = 4 5 % 6 = 5 6 % 6 = 0 7 % 6 = 1

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 18:09
par malvira
non je sais bien ce qu'est le modulo (reste d'une division) ....mais je ne comprends pas bien
qu'est ce que cela va facilité dans mon test (enfin dans mon cas)

Re: porbleme avec switch($var): case 'x'...

Posté : 13 mars 2012, 18:51
par xTG
L'écriture.
Après libre à toi d'utiliser cette méthode de calcul ou de rester avec une ligne de calcul et une ligne de test avec modification.