[PHP] [RISOLTO] Stampare classe css in base al risultato della query

elpirata

Utente Attivo
18 Mar 2009
264
7
18
Buonasera a tutti,
avrei la necessità di cambiare il colore di una td in virtù del risultato di una query, mi spiego meglio:

Ho questa query che stampa a video la situazione di alcuni appuntamenti:

Codice:
$query = "SELECT *,DATE_FORMAT(data, '%d/%m/%Y') as data_it FROM appuntamenti WHERE data = CURRENT_DATE() ORDER BY tipo_pren ASC, ora ASC LIMIT $inizio, $per_pagina";

// ESEGUO LA QUERY
$cerca = mysql_query($query);

// STAMPO LA QUERY PER IL DEBUG
// echo $query;

echo "
    <center><table>
    <tr><th colspan='10'>RISULTATI RICERCA</th><th colspan='6'>OPERAZIONI</tr>
    <tr><th>Id<th>Cliente<th>Gestore<th>Veicolo<th>Data<th>Ora<th>Telefono<th>Note<th>Stato Prenotazione<th>Tipo Prenotazione<th>Nuova<th>Modifica<th>Elimina</tr>
    </center>";

// CICLO WHILE
while ($riga = mysql_fetch_assoc($cerca)){
echo "<tr><td>$riga[idappuntamento]<td>$riga[cliente]<td>$riga[gestore]<td>$riga[veicolo]<td>$riga[data_it]<td>$riga[ora]<td>$riga[telefono]<td>$riga[note]<td>$riga[stato_pren]<td>$riga[tipo_pren]</td><td><center><a href=\"insapp.php\"><img src= \"img/duplica_32_32.png\"></a></center></td><td><center><a href=\"mapp.php?idappuntamento=$riga[idappuntamento]\"><img src= \"img/modifica_32_32.png\"></a></center></td><td><center><a href=\"delapp.php?idappuntamento=$riga[idappuntamento]\" onclick=\"return confirm('Cancellare definitivamente?')\"><img src=\"img/elimina_32_32.png\"></a></center></td></tr>";
}

echo "</table>";

Vorrei cambiare il colore di sfondo della <td>$riga[stato_pren] in virtù di quello che c'è scritto al suo interno, ad esempio:

Se nella cella è scritto "Attesa accettazione" applica all <td>$riga[stato_pren] la classe <td class = \"yellow\"
se è scritto "Terminato" applica la classe <td class = \"green\"
non so come implementare il codice, mi dareste una mano ?

o_O
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Ciao,
semplicemente controlli il valore contenuto in quella riga e stampi secondo i criteri da te scelti.

Personalmente, ho preferito snellire il codice, creando una variabile $class che assume diverso valore a seconda del contenuto di $riga['stato_pren'] e, successivamanente, assegnare tale variabile all'attributo html class.

PHP:
<?php
// Se nella cella è scritto "Attesa accettazione" applica all <td>$riga[stato_pren] la classe <td class = \"yellow\"
// se è scritto "Terminato" applica la classe <td class = \"green\"

$class = "";
while ($riga = mysql_fetch_assoc($cerca)) {

    // $class assume valore condizionatamente al valore dello stato prenotazione
    if($riga['stato_pren'] == 'Attesa accettazione') {
        $class = "yellow";
    } elseif ($riga['stato_pren'] == 'Terminato') {
        $class = "green";
    }

    //stampo le celle assegnando class = $class alla cella stato prenotazione
    echo "<tr>
              <td>$riga['idappuntamento']
              <td>$riga['cliente']
              <td>$riga['gestore']
              <td>$riga['veicolo']
              <td>$riga['data_it']
              <td>$riga['ora']
              <td>$riga['telefono']
              <td>$riga['note']

              <td class='$class'>$riga['stato_pren']

              <td>$riga['tipo_pren']</td>
              <td>
                  <center><a href=\"insapp.php\"><img src= \"img/duplica_32_32.png\"></a></center>
              </td>
              <td>
                  <center><a href=\"mapp.php?idappuntamento=$riga['idappuntamento']\"><img src= \"img/modifica_32_32.png\"></a></center>
              </td>
              <td>
                   <center><a href=\"delapp.php?idappuntamento=$riga['idappuntamento']\" onclick=\"return confirm('Cancellare definitivamente?')\"><img src=\"imgelimina_32_32.png\"></a></center>
              </td>
        </tr>";
}

?>
 

elpirata

Utente Attivo
18 Mar 2009
264
7
18
Codice:
<?php

// INCLUDO IL FILE PER LA CONNESSIONE AL DATABASE GESTIONE OFFICINA 2
include ("connessione.php");

if (trim($_POST['cliente']) == '' && trim($_POST['gestore']) == '' && trim($_POST['data']) == '' && trim($_POST['idata']) == '' && trim($_POST['fdata']) == '' && trim($_POST['ora']) == '' && trim($_POST['stato_pren']) == '' && trim($_POST['tipoprenotazione']) == '' && trim($_POST['telefono']) == ''&& trim($_POST['note']) == '')
{
    //REINDIRIZZO L'UTENTE AL MESSAGGIO DI ERRORE ATTENZIONE COMPILA ALMENO UN CAMPO
    echo "<center><div id=\"ricercanulla\">Attenzione non hai inserito nessun valore di ricerca</div></center></br><center><div id=\"torna\"><a href=\"ricapp.php\">Torna alla ricerca</a></div></center></br></br>";
}

else
  
{
  
  
$cliente = $_POST['cliente'];
$gestore = $_POST['gestore'];
$data = $_POST['data'];
$idata = $_POST['idata'];
$fdata = $_POST['fdata'];
$ora = $_POST['ora'];
$stato_pren = $_POST['stato_pren'];
$tipoprenotazione = $_POST['tipoprenotazione'];
$telefono = $_POST['telefono'];
$note = $_POST['note'];


$query = "SELECT *, DATE_FORMAT(appuntamenti.data,'%d/%m/%Y') as data_it FROM appuntamenti WHERE 1=1";


if (!empty($cliente)) {
    $query .= " AND `cliente` LIKE '%$cliente%'";
}

if (!empty($gestore)) {
    $query .= " AND `gestore` LIKE '%$gestore%'";
}

if (!empty($data)) {
    $query .= " AND `data` = STR_TO_DATE('$data', '%d/%m/%Y') ";
}

if (!empty($ora)) {
    $query .= " AND `ora` = '$ora'";
}

if (!empty($stato_pren)) {
    $query .= " AND `stato_pren` = '$stato_pren'";
}

if (!empty($tipoprenotazione)) {
    $query .= " AND `stato_pren` = '$tipoprenotazione'";
}

if (!empty($telefono)) {
    $query .= " AND `telefono` LIKE '%$telefono%'";
}

if (!empty($note)) {
    $query .= " AND `note` LIKE '%$note%'";
}

if (!empty($idata)) {
    $query .= " AND `data` BETWEEN  STR_TO_DATE('$idata', '%d/%m/%Y') AND STR_TO_DATE('$fdata', '%d/%m/%Y')";
}

    $query .= " ORDER BY data ASC";
}


// echo $query;


// ESEGUO LA QUERY CHE HO POGGIATO IN VARIABILE DI NOME $QUERY
$cerca=mysql_query($query);

// STAMPO LA QUERY PER IL DEBUG
// echo $query;

echo "
    <center><table>
    <tr><th colspan='10'>RISULTATI RICERCA</th><th colspan='6'>OPERAZIONI</tr>
    <tr><th>Id<th>Cliente<th>Gestore<th>Veicolo<th>Data<th>Ora<th>Telefono<th>Note<th>Stato Prenotazione<th>Tipo Prenotazione<th>Nuova<th>Modifica<th>Elimina</tr>
    </center>";


// ESEGUO UN CICLO WHILE

$class="";
while ($riga = mysql_fetch_assoc($cerca)){

    //$class assume valore condizionale
    if($riga['stato_pren'] == 'Attesa Accettazione'){
        $class = "yellow";
    } elseif ($riga['stato_pren'] == 'Lavoro Terminato'){
        $class = "green";
    }
  
    //stampo le celle assegnando la variabile class alla cella stato prenotazione
  
    echo "<tr>                                                         <------qua errore
            <td>$riga['idappuntamento']
            <td>$riga['cliente']
            <td>$riga['gestore']
            <td>$riga['veicolo']
            <td>$riga['data_it']
            <td>$riga['ora']
            <td>$riga['telefono']
            <td>$riga['note']
            <td class='$class'>$riga['stato_pren']
            <td>$riga['tipo_pren']</td>
            <td>
            <center><a href=\"insapp.php\"><img src=\"img/duplica_32_32.png\"></a></center>
            </td>
            <td>
            <center><a href=\"mapp.php?idappuntamento=$riga['idappuntamento']\"><img src=\"img/modifica_32_32.png\"></a></center>
            </td>
            <td>
            <center><a href=\"delapp.php?idappuntamento=$riga['idappuntamento']\" onclick=\return confirm('Cancellare definitivamente?')\"><img src=\"img/elimina_32_32.png\"></a></center>
            </td>
        </tr>";
}

echo "</table>";

// CHIUDO LA CONNESSIONE AL DATABASE MYSQL
mysql_close();

?>

Ciao Adeknite,
anzitutto grazie mille per la risposta, ho modificato tutto lo script come da te suggerito:
ma ottengo errore dove segnalato, ossia all'apertura dell'echo :oops:

Codice:
PHP Parse error:  syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)
 

Sabo

Nuovo Utente
17 Giu 2015
31
0
6
Prova cosi:

PHP:
echo "<tr>                                                  
            <td>$riga['idappuntamento']."
            <td>".$riga['cliente']."
            <td>".$riga['gestore']."
            <td>".$riga['veicolo']."
            <td>".$riga['data_it']."
            <td>".$riga['ora']."
            <td>".$riga['telefono']."
            <td>".$riga['note']."
            <td class='$class'>".$riga['stato_pren']."
            <td>".$riga['tipo_pren']."</td>
            <td>
            <center><a href=\"insapp.php\"><img src=\"img/duplica_32_32.png\"></a></center>
            </td>
            <td>
            <center><a href=\"mapp.php?idappuntamento=".$riga['idappuntamento']."\"><img src=\"img/modifica_32_32.png\"></a></center>
            </td>
            <td>
            <center><a href=\"delapp.php?idappuntamento=".$riga['idappuntamento']."\" onclick=\return confirm('Cancellare definitivamente?')\"><img src=\"img/elimina_32_32.png\"></a></center>
            </td>
        </tr>";
 

elpirata

Utente Attivo
18 Mar 2009
264
7
18
upload_2016-8-9_11-12-59.png


Sempre errore ...
 

Sabo

Nuovo Utente
17 Giu 2015
31
0
6
Ciao scusami ho sbagliato a inserirti il codice
PHP:
echo "<tr> 
 <td>".$riga['idappuntamento']."
 <td>".$riga['cliente']."
 <td>".$riga['gestore']."
 <td>".$riga['veicolo']."
 <td>".$riga['data_it']."
 <td>".$riga['ora']."
 <td>".$riga['telefono']."
 <td>".$riga['note']."
 <td class='$class'>".$riga['stato_pren']."
 <td>".$riga['tipo_pren']."</td>
 <td>
 <center><a href=\"insapp.php\"><img src=\"img/duplica_32_32.png\"></a></center>
 </td>
 <td>
 <center><a href=\"mapp.php?idappuntamento=".$riga['idappuntamento']."\"><img src=\"img/modifica_32_32.png\"></a></center>
 </td>
 <td>
 <center><a href=\"delapp.php?idappuntamento=".$riga['idappuntamento']."\" onclick=\return confirm('Cancellare definitivamente?')\"><img src=\"img/elimina_32_32.png\"></a></center>
 </td>
 </tr>";
 
Discussioni simili
Autore Titolo Forum Risposte Data
elpirata [RISOLTO]Stampare giorno della settimana in tabella php PHP 6
C [RISOLTO]Inserimento variabile php in input html PHP 20
moustache [RISOLTO] SQL PHP IIS PHP 8
L update tabelle in php mysql [risolto] PHP 6
A [PHP] Problema query insert [RISOLTO] PHP 14
B [PHP] recuperare IP dei server in load balancing [RISOLTO] PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
C [RISOLTO][PHP] Errore di sintassi PHP 8
Kolop [RISOLTO][PHP] Problema Pagination PHP 2
C [RISOLTO][PHP] Funzione ONclick PHP 14
C [RISOLTO][PHP] Conteggio righe di una tabella PHP 4
N [PHP] Utilizzo variabili di sessione [Risolto] PHP 13
Tommy03 [RISOLTO][PHP] Webserver o devserver? PHP 2
spider81man [PHP] Problemi cancellazione dato su DB [RISOLTO] PHP 1
A [PHP] RISOLTO Invio Mail con Tabella PHP 2
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
elpirata [PHP][RISOLTO] Effettuare la somma dei tempi di lavorazione PHP 3
elpirata [PHP] [RISOLTO]Sovrascrivere testo in una tabella PHP 2
A [RISOLTO]Recuperare dati inviati con json tramite php PHP 4
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP][RISOLTO] Errore di tipo Notice: Undefined index - Come risolvere quando si hanno tante var PHP 10
S Problema in PHP per invio file XML - RISOLTO- PHP 8
A [RISOLTO] HighChart e PHP PHP 4
A [RISOLTO] PHP Selezionare tutti i file con stessa estensione PHP 2
A [RISOLTO] Table elaborata da codice PHP con dati da DB non visualizzata in IFRAME PHP 15
Zea [PHP] RISOLTO - creare link con il risultato dell'interrogazione db PHP 1
A [PHP] [RISOLTO]Compilazione campi form da record db PHP 3
A [PHP] [RISOLTO] Modifica record db da form PHP 11
G [PHP][RISOLTO] Include/Require non funzionante PHP 9
C [PHP] RISOLTO - Eliminare elementi duplicati da array multidimensionale PHP 1
G [RISOLTO][PHP] Call to a member function num_rows() on a non-object PHP 9
U [PHP - RISOLTO] Tabella dinamica: colonne selezionate da checkbox PHP 40
CristianB72 [RISOLTO] [PHP] Istruzione "if" non funziona PHP 6
fabryx [PHP] RISOLTO: Download file da web e trasferimento su server PHP 2
fabryx [PHP]RISOLTO: Parsing xml nodi con caratteri speciali PHP 1
CristianB72 [RISOLTO][PHP] preg_match di un array PHP 7
G [RISOLTO][PHP] Estrapolare dati da Tabella PHP 11
A [RISOLTO]Errore caricamento file php PHP 21
coccobil [PHP] RISOLTO -Recupare valore data che soddisfa certi requisiti da array PHP 3
fabryx [PHP]RISOLTO: Trasformare righe in colonne assegnando singole variabili PHP 10
fabryx [PHP]RISOLTO: eliminazione riga con singolo valore duplicato in array PHP 19
elpirata [Risolto] Gestione Prenotazioni script php PHP 25
K [risolto] passaggio variabile a pagina php con ajax Ajax 6
J [risolto] Trasformare la seguente classe PHP PHP 2
E [risolto] win 8.1 + IE11 le sessioni PHP non fuonzionano correttamente PHP 7
N [RISOLTO] Mostrare a video le checkbox selezionate con PHP e MySQL PHP 4
otto9due [risolto] Problema sessioni php e login PHP 5
G [risolto] Creazione file excel con PHP PHP 3
S [risolto] Aiuto: ciclo php ( for / while). popolare select dinamicamente da array id. PHP 9
Alessandro Le Mura [risolto] PHP problema memorizzazione array PHP 4

Discussioni simili