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

Petit nouveau ! | 9 Messages

13 mars 2012, 11:05

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

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2012, 11:09

Cela se voit à la couleur. ;)
Pour échapper un caractère c'est \ et non /

Petit nouveau ! | 9 Messages

13 mars 2012, 11:29

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; } ?>

ViPHP
ViPHP | 2577 Messages

13 mars 2012, 11:33

<?php 
$cpt=$cpt +1; 
switch($cpt)
{
    case 1: 
          echo "<div class=\"post_title_1\">"; 
          break;
    Case....
}
?>

Petit nouveau ! | 9 Messages

13 mars 2012, 11:45

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; ?>

Eléphant du PHP | 275 Messages

13 mars 2012, 11:49

Et pk pas

Code : Tout sélectionner

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

ViPHP
ViPHP | 2577 Messages

13 mars 2012, 11:53

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.
Modifié en dernier par Mazarini le 13 mars 2012, 12:16, modifié 1 fois.

Petit nouveau ! | 9 Messages

13 mars 2012, 12:05

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;
 

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2012, 12:25

if ($cpt == 6) $cpt=0;
Dans ce cas :
$cpt = ($cpt+1) % 6;

Petit nouveau ! | 9 Messages

13 mars 2012, 18:01

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;

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2012, 18:06

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

Petit nouveau ! | 9 Messages

13 mars 2012, 18:09

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)

ViPHP
xTG
ViPHP | 7331 Messages

13 mars 2012, 18:51

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.