Problème else PHP

filoulebauju -  
 filoulebauju -
Bonjour,

Voici mon problème.

Si un chiffre est égal à 0, je dois afficher une cellule vide dans mon tableau, si au contraire, ce chiffre n'est pas égal à 0, je dois en afficher un autre qui celui ci si est négatif, doit etre en rouge sinon en noir.

Et comme un bout de code vaut mieux qu'un long discours.:

if ($a5 = 0)?>
	<TD></TD> <?php else{
	if ($d2 <= 0){?>
	<td style = "color:red;"><?php echo number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' ');} else{?></td>
	<td>
	<?php
	echo number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' ');}}?></td>
	<?php 


je pense donc avoir un problème au niveau de mon ELSE mais je ne suis pas sur.
Merci de votre aide
A voir également:

7 réponses

Screenager
 
Tes balises <td> sont fermées au mauvais endroit ;) Il faut les ouvrir ET les fermer dans le if ou le else. Là, le </td> était après le else...
Et puis je crois que les if sans {}, c'est bien pratique si tu as du php derrière, mais pour le html je crois que c'est source de problème. Sinon il suffit de le mettre dans un echo...

if ($a5 = 0) {
?>
	<TD></TD>
<?php
}
else {
	if ($d2 <= 0)
        {
        ?>
	<td style = "color:red;"><?php echo number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' '); ?></td>
        <?php
        }
        else {
        ?>
	<td><?php echo number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' '); ?></td>
        <?php
        }
}
0
filoulebauju
 
Merci, je n'ai plus d'erreur, mais ça n'arrange pas le problème.
Meme si la valeur de $a5 est bien égal à 0, il ne m'affiche pas la cellule du tableau vide, il passe direct au else et m'affiche le résultat de l'autre chiffre...

Bizarre il prend la deuxième instruction mais pas la première...
0
nini
 
$a5 = 0 tu donnes la valeur 0
$a5 == 0 tu donnes la condition
0
filoulebauju
 
Merci, j'avais oublié le 2ème =...
0
nini
 
pourquoi passer ton temps a ferme et ouvrir <?php
mets tout dans des echo
0
filoulebauju
 
Ben disons que la concaténation et moi ca fait 2 donc j'évite de tout mettre en echo. :d

Mais c'est vrai qu'il faudrait que je le fasse.
0
filoulebauju > filoulebauju
 
Suivant les conseils de NINI, j'ai tout mis en echo, et ca a marché du premier coup.!!!


Merci beaucoup à vous deux.

bonne journée
0
nini
 
pas tres complique.

$phrase= 'ceci est un exemple <a href="http://le_lien"> c\'est ceci</a>';

ou

$phrase= "ceci est un exemple <a href=\"http://le_lien\"> c'est ceci</a>";
0
filoulebauju
 
En fait, ca ne marche pas encore...

Maintenant j'ai ça:

if ($d5 == 0) {
echo("<TD></TD>");
}
else {
if ($d2 <= 0)
{
echo("<td style = 'color:red;'><?php echo number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' '); ?></td>");
}
else {
echo("<td><?php echo number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' '); ?></td>");
}}?>
<?php

mais le soucis, c'est qu'il m'affiche tjs la cellule vide maintenant...
Vous avez une idée?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nini
 
<?

if ($d5 == 0) { echo"<TD></TD>"; }

elseif ($d2 <= 0)
{
echo"<td style = 'color:red;'>". number_format(odbc_result($DOU_avril,1)." - ".odbc_result($DOU_avril1,1), 0, ',', ' ')."</td>";
}
else {
echo"<td>".number_format(odbc_result($DOU_avril,1)." - ".odbc_result($DOU_avril1,1), 0, ',', ' ')."</td>");
}


?>

je l'ai refais rapidement, regarde bien la structure
0
nini
 
regarde ta fct number_format

je me suis trompe sur

echo"<td style = 'color:red;'>". number_format(odbc_result($DOU_avril,1)." - ".odbc_result($DOU_avril1,1), 0, ',', ' ')."</td>";

echo"<td style = 'color:red;'>". number_format(odbc_result($DOU_avril,1) - odbc_result($DOU_avril1,1), 0, ',', ' ')."</td>";
0
filoulebauju
 
Suite à une analyse de ton, (et d'un plantage du net)

voici la soluce finale qui marche:
<?php
if ($a5 == 0)
{echo("<TD></TD>");}
elseif ($a4 <= 0)
{
echo("<td style = 'color:red;'>".number_format(((odbc_result($DOU_janvier,1) / odbc_result($DOU_janvier1,1)-1)*100) , 2, ',', ' ')."</td>");
}
else {
echo("<td>".number_format(((odbc_result($DOU_janvier,1) / odbc_result($DOU_janvier1,1)-1)*100) , 2, ',', ' ')."</td>");
}
?>

Merci beaucoup de votre aide.
0