Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Update campo con valore predefinito

    Buon giorno a tutti, mi scuso per il titolo ma non sapevo come e cosa scrivere.
    Mi ritrovo a dover aggiornare il valore di un campo appuntamenti_da_fare, dopo un controllo.
    In questo campo, parto con un valore es 20 e man mano, che si fanno appuntamenti, questo valore dovrebbe scendere fino ad arrivare a zero.
    Un contatore praticamente.
    A me servirebbe, che dopo un controllo es:
    Codice PHP:
    $sqlUpdateOV "UPDATE ".trim($DB).".tb_obiettivo_verifica SET"
    ." appuntamenti_da_fare=\"".(($esito_appuntamento=='fatto' || $esito_appuntamento=='non fatto') ? ($appuntamenti_da_fare-1) : "")."\""
    ."";
    $sqlUpdateOV .= " WHERE id_user = ".$_SESSION['id_user'].""
    E' possibile dal valore esistente nel campo togliere valore 1?
    Grazie

  2. #2
    ok risolto....cosi:
    Codice PHP:
    UPDATE agenda.tb_obiettivo_verifica SET appuntamenti_da_fare=(SELECT MAX(agenda.tb_obiettivo_verifica.contatti)-1WHERE id_user 28 
    grazie

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503

    Re: Update campo con valore predefinito

    Codice PHP:
    $sqlUpdateOV "UPDATE ".trim($DB).".tb_obiettivo_verifica 
                       SET appuntamenti_da_fare='"
    .(($esito_appuntamento=='fatto' || $esito_appuntamento=='non fatto') ? 'appuntamenti_da_fare-1' "")."' 
                     WHERE id_user = "
    .$_SESSION['id_user']; 
    Ad ogni modo le condizioni in base alle quali decidere mi lasciano un po' perplesso:
    ($esito_appuntamento=='fatto' || $esito_appuntamento=='non fatto')
    C'è qualche altro valore possibile per $esito_appuntamento? Altrimenti il controllo è sempre true.
    Inoltre, se ci fosse il caso in cui restituisse false, il SET risulterebbe probabilmente sbagliato:
    SET appuntamenti_da_fare=""
    ti cancella il contenuto di tale campo, non lo lascia invariato, penso tu intenda fare così
    SET appuntamenti_da_fare=appuntamenti_da_fare
    in modo che rimanga uguale a se stesso.

    Dato che php lo prevede, puoi usare apici singoli e doppi in modo corretto per evitarti escape e troppe concatenazioni inutili, appesantisci solo la lettura del codice altrimenti.

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, si certo che si può fare, ad esempio
    Codice PHP:
    $strsql="Update tabella set contatore=contatore-1"

  5. #5
    si avete ragione ragazzi...
    alla fine quel controllo l'ho fatto cosi:
    Codice PHP:
    $arrEsitoApp = array('fatto','non fatto');
    if(
    in_array(trim($esito_appuntamento),$arrEsitoApp)){
            
    $sqlUpdateOV "UPDATE agenda.tb_obiettivo_verifica SET appuntamenti_da_fare=(SELECT MAX(agenda.tb_obiettivo_verifica.appuntamenti_da_fare)-1) WHERE id_user = ".$_SESSION['id_user']."";
            
    $rsUpdateOVmysql_query($sqlUpdateOV) or die ("Impossibile connettersi!" mysql_error());

    Grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.