Cambiare colore ad un td se il campo XXX è = a XXX

  • Creatore Discussione Creatore Discussione Trapano
  • Data di inizio Data di inizio

Trapano

Utente Attivo
27 Set 2012
238
0
16
49
Come da titolo, sarebbe possibile cambiare colore ad un td se il campo XX è con valore= 'XX' ??
Avrei bisogno di mettere in rilievo alcuni record...
 
Mi spiego meglio.
In un mio db, cerco delle fatture, e vorrei che gli acconti venissero evidenziati in qualche modo per differenziarli dai pagamenti completi.
Quindi pensavo ad una formula del tipo (Se il campo 'tipi' è = a 'Acconto' allora evidenzia quella riga)
Grazie a chi vorrà aiutarmi.
 
gli metti una condizione se $a=acconto stampa <strong>a</strong> seno a...
 
gli metti una condizione se $a=acconto stampa <strong>a</strong> seno a...
Ciao giamma.
Il mio script è questo:
PHP:
echo "<table style='border: 1px solid white' align='left' bgcolor='' border='1' width='100%' cellpadding='0' cellspacing='0'>"; 
echo "<tr>

<th align='center' width=''><font size='2'>Cliente</th>
<th align='center' width=''><font size='2'>Documento</th>
<th align='center' width=''><font size='2'>Numero</th>
<th align='center' width=''><font size='2'>Emissione doc.</th>
<th align='center' width=''><font size='2'>Codice cliente</th>
<th align='center' width=''><font size='2'>Importo euro</th>
<th align='center' width=''><font size='2'>-</th>
<th align='center' width=''><font size='2'>Data operazione</th>
<th align='center' width=''><font size='2'>Tipo operazione</th>
</tr>"; 
$totale_importo = 0;
while($row = mysql_fetch_array( $result )) { 
    $id=$row['id'];
        
    echo "<tr>
     <td align='center'><font size='2'>".$row['nome']."</font></td>
     <td align='center'><font size='2'>".$row['doc']."</font></td>
     <td align='center'><font size='2'>".$row['numero']."</font></td>
     <td align='center'><font size='2'>".$row['emissione']."</font></td>
     <td align='center'><font size='2'>".$row['codcliente']."</font></td>
     <td align='center'><font size='2'>".$row['importo']."</font></td>
     <td align='center' width='20'><font size='2'></font></td>
     <td align='center'><font size='2'>".$row['data']."</font></td>
     <td align='center'><font size='2'>".$row['tipo']."</font></td></tr>";
              $importo=mysql_result($result,$i,"importo");
    $totale_importo += $importo;
    $i++;  
}  
echo "</table><br>";
In quale punto lo dovrei inserire e come?
 
dentro il while dovresti mettere una condizione e che non capisco quale array determini l'acconto forse dall'importo? io parto dal presupposto che la tua risposta sia si e quindi:
PHP:
echo "<table style='border: 1px solid white' align='left' bgcolor='' border='1' width='100%' cellpadding='0' cellspacing='0'>";  
echo "<tr> 

<th align='center' width=''><font size='2'>Cliente</th> 
<th align='center' width=''><font size='2'>Documento</th> 
<th align='center' width=''><font size='2'>Numero</th> 
<th align='center' width=''><font size='2'>Emissione doc.</th> 
<th align='center' width=''><font size='2'>Codice cliente</th> 
<th align='center' width=''><font size='2'>Importo euro</th> 
<th align='center' width=''><font size='2'>-</th> 
<th align='center' width=''><font size='2'>Data operazione</th> 
<th align='center' width=''><font size='2'>Tipo operazione</th> 
</tr>";  
$totale_importo = 0; 
while($row = mysql_fetch_array( $result )) {  
    $id=$row['id']; 
         
    echo "<tr> 
     <td align='center'><font size='2'>".$row['nome']."</font></td> 
     <td align='center'><font size='2'>".$row['doc']."</font></td> 
     <td align='center'><font size='2'>".$row['numero']."</font></td> 
     <td align='center'><font size='2'>".$row['emissione']."</font></td> 
     <td align='center'><font size='2'>".$row['codcliente']."</font></td> ";
if($row['importo']<=1200){ //quindi qui ti controlla se il valore è uguale maggiore di 1200 ipotesi se i si utilizzerà il marcatore strong 
     echo "<td align='center'><font size='2'><strong>".$row['importo']."</strong></font></td>";
}else{
    echo "<td align='center'><font size='2'>".$row['importo']."</font></td>" ;
};
 echo " <td align='center' width='20'><font size='2'></font></td> 
     <td align='center'><font size='2'>".$row['data']."</font></td> 
     <td align='center'><font size='2'>".$row['tipo']."</font></td></tr>"; 
              $importo=mysql_result($result,$i,"importo"); 
    $totale_importo += $importo; 
    $i++;   
}   
echo "</table><br>";

provalo poi sappimi dire ciao
 
Ultima modifica:
Ho fatto così:
PHP:
echo "<table style='border: 1px solid white' align='left' bgcolor='' border='1' width='100%' cellpadding='0' cellspacing='0'>"; 
echo "<tr>

<th align='center' width=''><font size='2'>Cliente</th>
<th align='center' width=''><font size='2'>Documento</th>
<th align='center' width=''><font size='2'>Numero</th>
<th align='center' width=''><font size='2'>Emissione doc.</th>
<th align='center' width=''><font size='2'>Codice cliente</th>
<th align='center' width=''><font size='2'>Importo euro</th>
<th align='center' width=''><font size='2'>-</th>
<th align='center' width=''><font size='2'>Data operazione</th>
<th align='center' width=''><font size='2'>Tipo operazione</th>
</tr>"; 
$totale_importo = 0;
while($row = mysql_fetch_array( $result )) { 
    $id=$row['id'];
        
    echo "<tr>
     <td align='center'><font size='2'>".$row['nome']."</font></td>
     <td align='center'><font size='2'>".$row['doc']."</font></td>
     <td align='center'><font size='2'>".$row['numero']."</font></td>
     <td align='center'><font size='2'>".$row['emissione']."</font></td>
     <td align='center'><font size='2'>".$row['codcliente']."</font></td>
     <td align='center'><font size='2'>".$row['importo']."</font></td>
     <td align='center' width='20'><font size='2'></font></td>
     <td align='center'><font size='2'>".$row['data']."</font></td>;

if($row['tipo']='ACCONTO'){  
     echo "<td align='center'><font size='2'><strong>".$row['tipo']."</strong></font></td></tr>";
}else{
    echo "<td align='center'><font size='2'>".$row['tipo']."</font></td></tr>";
};

              $importo=mysql_result($result,$i,"importo");
    $totale_importo += $importo;
    $i++;  
}  
echo "</table><br>";

Ma mi dà questo errore:
PHP:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /XXXX/pagamenti.php on line 68
 
PHP:
echo "<table style='border: 1px solid white' align='left' bgcolor='' border='1' width='100%' cellpadding='0' cellspacing='0'>"; 
echo "<tr>

<th align='center' width=''><font size='2'>Cliente</th>
<th align='center' width=''><font size='2'>Documento</th>
<th align='center' width=''><font size='2'>Numero</th>
<th align='center' width=''><font size='2'>Emissione doc.</th>
<th align='center' width=''><font size='2'>Codice cliente</th>
<th align='center' width=''><font size='2'>Importo euro</th>
<th align='center' width=''><font size='2'>-</th>
<th align='center' width=''><font size='2'>Data operazione</th>
<th align='center' width=''><font size='2'>Tipo operazione</th>
</tr>"; 
$totale_importo = 0;
while($row = mysql_fetch_array( $result )) { 
    $id=$row['id'];
     
     
     
     if ($row['tipo'] != 'ACCONTO') {    
    echo "<tr>
     <td align='center'><font size='2'>".$row['nome']."</font></td>
     <td align='center'><font size='2'>".$row['doc']."</font></td>
     <td align='center'><font size='2'>".$row['numero']."</font></td>
     <td align='center'><font size='2'>".$row['emissione']."</font></td>
     <td align='center'><font size='2'>".$row['codcliente']."</font></td>
     <td align='center'><font size='2'>".$row['importo']."</font></td>
     <td align='center' width='20'><font size='2'></font></td>
     <td align='center'><font size='2'>".$row['data']."</font></td>
     <td align='center'><font size='2'>".$row['tipo']."</font></td>";
     
}else{
    echo "<tr>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['nome']."</font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['doc']."</font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['numero']."</font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['emissione']."</font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['codcliente']."</font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['importo']."</font></td>
     <td align='center' bgcolor='#FFFF00' width='20'><font size='2'></font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['data']."</font></td>
     <td align='center' bgcolor='#FFFF00'><font size='2'>".$row['tipo']."</font></td>";
};
echo "</tr>";

              $importo=mysql_result($result,$i,"importo");
    $totale_importo += $importo;
    $i++;  
}  
echo "</table><br>";

Grazie mille!
 
Ho fatto così:
PHP:
echo "<table style='border: 1px solid white' align='left' bgcolor='' border='1' width='100%' cellpadding='0' cellspacing='0'>"; 
echo "<tr>

<th align='center' width=''><font size='2'>Cliente</th>
<th align='center' width=''><font size='2'>Documento</th>
<th align='center' width=''><font size='2'>Numero</th>
<th align='center' width=''><font size='2'>Emissione doc.</th>
<th align='center' width=''><font size='2'>Codice cliente</th>
<th align='center' width=''><font size='2'>Importo euro</th>
<th align='center' width=''><font size='2'>-</th>
<th align='center' width=''><font size='2'>Data operazione</th>
<th align='center' width=''><font size='2'>Tipo operazione</th>
</tr>"; 
$totale_importo = 0;
while($row = mysql_fetch_array( $result )) { 
    $id=$row['id'];
        
    echo "<tr>
     <td align='center'><font size='2'>".$row['nome']."</font></td>
     <td align='center'><font size='2'>".$row['doc']."</font></td>
     <td align='center'><font size='2'>".$row['numero']."</font></td>
     <td align='center'><font size='2'>".$row['emissione']."</font></td>
     <td align='center'><font size='2'>".$row['codcliente']."</font></td>
     <td align='center'><font size='2'>".$row['importo']."</font></td>
     <td align='center' width='20'><font size='2'></font></td>
     <td align='center'><font size='2'>".$row['data']."</font></td>; // ti sei dimenticato il doppio apice

if($row['tipo']='ACCONTO'){  // e qui metteri == no =
     echo "<td align='center'><font size='2'><strong>".$row['tipo']."</strong></font></td></tr>";
}else{
    echo "<td align='center'><font size='2'>".$row['tipo']."</font></td></tr>";
};

              $importo=mysql_result($result,$i,"importo");
    $totale_importo += $importo;
    $i++;  
}  
echo "</table><br>";

Ma mi dà questo errore:
PHP:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /XXXX/pagamenti.php on line 68

manca un doppio apice sicuro e metterei == e non = sappimi dire se funziona ciao
 
ciao
o meglio così

PHP:
<style type="text/css">
.pinco{
background-color:#FF0000;
/*e tutto quello che vuoi*/
}
</style>

<?php
//...
while($row = mysql_fetch_array( $result )) { 
    $id=$row['id'];
    echo "<tr>
     <td align='center'><font size='2'>".$row['nome']."</font></td>
     <td align='center'><font size='2'>".$row['doc']."</font></td>
     <td align='center'><font size='2'>".$row['numero']."</font></td>
     <td align='center'><font size='2'>".$row['emissione']."</font></td>
     <td align='center'><font size='2'>".$row['codcliente']."</font></td>
     <td align='center'><font size='2'>".$row['importo']."</font></td>
     <td align='center' width='20'><font size='2'></font></td>
     <td align='center'><font size='2'>".$row['data']."</font></td>";
	 $stile="";
	 if($row['tipo']=='ACCONTO'){ $stile= "class='pinco'";}
	 echo "<td align='center' $stile ><font size='2'>".$row['tipo']."</font></td></tr>";
}
//......
?>

p.s.
usa i css (tra l'altro, es., il tag font è deprecato)
 
Grazie. Adesso mi sbizzarrisco con modifiche per evidenziate alcuni dati.
 

Discussioni simili