cambio colore in base alla scelta nel form select

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
Ciao a tutti vorrei sapere una cosa:
sotto ho postato il mio codice funzionante che visualizza dei valori opresi da un form.
Il valore "giudizio" viene preso da una select, che permette le scelte : positivo o negativo.
Come faccio a visualizzare in VERDE se positivo e in ROSSO se negativo? ora come ora stampa tutto in nero.
grazie

PHP:
<?php
session_start();
@include 'config.php';

// recupero i dati dal DB
$query = "SELECT * FROM veterinari ORDER By id"; 

$res = mysql_query($query) or die (mysql_error());

 //verifico che il db contenga dei commenti

if($n_img >= 0 ){
  // stabilisco il numero di righe e colonne della nostra tabella per l'impagninazione echo("

  // ciclo tutti i record recuperati attraverso la nostra query
  while ($f=@mysql_fetch_array($res)){
    $righe++;
    $id = $f['id'];
    $veterinario = stripslashes($f['Veterinario']);
    $recensione = stripslashes($f['Recensione']);
    $giudizio = stripslashes($f['Giudizio']);
    $data = stripslashes($f['Data']);

      echo "<span style=\"color:blue\"><b>Veterinario:&nbsp&nbsp&nbsp&nbsp&nbsp</span>" . $veterinario . "<br />";              
      echo "<span style=\"color:blue\"><b>Recensione:&nbsp&nbsp&nbsp&nbsp&nbsp</span>" . $recensione . "<br />";
    
echo "<span style=\"color:blue\"><b>Giudizio:
</span>" . $giudizio . "<br />";

      echo "<span style=\"color:red\"><b>Data:&nbsp&nbsp&nbsp&nbsp&nbsp</span>" . $data . "<br />";
      echo  "<hr >";   
      echo  "<br />";
      echo "</td>\n";

    {
      echo "</tr><tr>\n";
  
    }
  }
}else{
  // stampo un messaggio se il DB è vuoto
  echo "Non esistono recensioni al momento";
}
@mysql_close($cn);

?>
 
Veramente, leggendo il codice, pare che visualizzi tutto in blu, tranne la data che è rossa.

Comunque:
PHP:
$giudizio = stripslashes($f['Giudizio']);
$colore = ($giudizio == 'positivo') ? 'green' : 'red';
E cambi tutti gli:
HTML:
<span style=\"color:blue\">
Con:
HTML:
<span style=\"color:{$color}\">
 
Grazie Alessandro, è vero le scritte sono in blu o rosso, ma il commento e la data vera e propria sono in nero.
io vorrei che la scritta positivo sia in verde e, se negativo in rosso.
Ho inserito la stringa che mi hai postato, ma devo aver sbagliato qualcosa perchè rimane sempre in nero.


PHP:
    <?php
session_start();
@include 'config.php';


// recupero i dati dal DB
$query = "SELECT * FROM veterinari ORDER By id"; 


$res = mysql_query($query) or die (mysql_error());


 //verifico che il db contenga dei commenti

if($n_img >= 0 ){
  // stabilisco il numero di righe e colonne della nostra tabella per l'impagninazione echo("



  // ciclo tutti i record recuperati attraverso la nostra query
  while ($f=@mysql_fetch_array($res)){
    $righe++;
    $id = $f['id'];
    $veterinario = stripslashes($f['Veterinario']);
    $recensione = stripslashes($f['Recensione']);
    $giudizio = stripslashes($f['Giudizio']);
    $colore = ($giudizio == 'Positivo') ? 'green' : 'red';  
    $data = stripslashes($f['Data']);

      echo " <span style=\"color:blue\"> <b>Veterinario:&nbsp&nbsp&nbsp&nbsp&nbsp</span>" . $veterinario . "<br />";              
      echo " <span style=\"color:blue\"> <b>Recensione:&nbsp&nbsp&nbsp&nbsp&nbsp</span>" . $recensione . "<br />";
    
echo " <span style=\"color:{$color}\"><b>Giudizio:
</span>" . $giudizio . "<br />";


      echo "<span style=\"color:red\"> <b>Data:&nbsp&nbsp&nbsp&nbsp&nbsp</span>" . $data . "<br />";



      echo  "<hr >";   

      echo  "<br />";
      echo "</td>\n";

    {
      echo "</tr><tr>\n";
  
    }
  }
}else{
  // stampo un messaggio se il DB è vuoto
  echo "Non esistono recensioni al momento";
}
@mysql_close($cn);


?>
 
ciao
correggi
PHP:
echo " <span style=\"color:{$color}\"><b>Giudizio:
</span>" . $giudizio . "<br />";
in
PHP:
echo " <span style=\"color:{$color}\"><b>Giudizio:
" . $giudizio . "</span></b><br />";
così viene tutto del colore.
p.s.
ricordati di chiudere il tag bold se non vedo male ne hai aperti diversi senza chiuderli
 
ho provato a correggere la stringa e chiuso i tag bold,
ma non è cambiato nulla stampa il positivo sempre in nero.

grazie
 

Discussioni simili