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
Configuration: Windows XP
Firefox 2.0.0.13

7 réponses

  1. 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
    1. 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
  2. nini
     
    $a5 = 0 tu donnes la valeur 0
    $a5 == 0 tu donnes la condition
    0
    1. filoulebauju
       
      Merci, j'avais oublié le 2ème =...
      0
  3. nini
     
    pourquoi passer ton temps a ferme et ouvrir <?php
    mets tout dans des echo
    0
    1. 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
      1. 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
  4. 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
    1. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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
  8. 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