Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    52

    aggiornamento dinamico update mysql

    Salve, chiedo parere a voi sicuramente più esperti.
    In pratica vorrei aggiornare dinamicamente un valore nel database in base al valore postato nella pagina view. La struttura è realizzata in mvc e per cercare di semplificare il codice sono riuscito a realizzare questo. Chiedo appunto cosa nè pensate e se conoscete qualche altro modo in caso migliore di questo.
    Grazie

    Nella pagina view ci sono i vari input

    Codice PHP:
    <form action="" method="post">
    <
    button type="submit" name="submit" value="valore1">Submit</button>
    <
    button type="submit" name="submit" value="valore2">Submit</button>
    </
    form
    Nella pagina controller i vari controlli e l'esecuzione del metodo
    Codice PHP:
    switch ($_POST['submit']) { 
              case 
    'valore1'
                            
    $verifica1 //codice per verifica valore1; 
                            
    $verifica2 //codice per verifica valore1; 
                            
    $update "valore1";
                            break;
              case 
    'valore2'
                            
    $verifica1 //codice per verifica valore2; 
                            
    $verifica2 //codice per verifica valore2; 
                            
    $update "valore2";
                            break;
              default: 
                            
    $valore_nullo '0';
    }

    if (
    $valore_nullo == '0') {
                    
    $data['errore'] = 'si ï¿½ verificato un errore';
                } else {
                    if (
    $verifica1 ect ect) {
            
    $data['errore'] = 'errore1';
                        } elseif (
    $verifica2 ect ect) {
            
    $data['errore'] = 'errore2';
                        } 
                        }

    if (empty(
    $data['errore'])) {
                            
    $this->nome_modello->nome_metodo($update$verifica1$id);
                        
                        } 
    E nella pagina model la funzione
    Codice PHP:
    public function nome_metodo($update,$new,$id) {
            
            
    $this->db->query("UPDATE nome_tabella SET $update = :new WHERE id = :id");
            
    $this->db->bind(':new'$new);
            
    $this->db->bind(':id'$id);
            
            
            
    //Execute
          
    ect ect
            
        


  2. #2
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    52
    nessun consiglio?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2019
    residenza
    Sicilia
    Messaggi
    86
    Ciao,

    dato che i campi della tabella sono già definiti, potresti semplificare il codice con un array che funge da whitelist e la funzione in_array().

    Es:

    Codice PHP:
    $whitelist = ['name''surname''email''phone'];

    if (isset(
    $_POST['submit'])) {
        
    $submit $_POST['submit'];
        
        if (!
    in_array($submit$whitelist)) {
            
    // Errore
        
    } else {
            
    // OK
        
    }


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2017
    Messaggi
    52
    Quote Originariamente inviata da Flaviors200 Visualizza il messaggio
    Ciao,

    dato che i campi della tabella sono già definiti, potresti semplificare il codice con un array che funge da whitelist e la funzione in_array().

    Es:

    Codice PHP:
    $whitelist = ['name''surname''email''phone'];

    if (isset(
    $_POST['submit'])) {
        
    $submit $_POST['submit'];
        
        if (!
    in_array($submit$whitelist)) {
            
    // Errore
        
    } else {
            
    // OK
        
    }

    Però non ho capito come potrei utilizzarla per essermi utile, cioè dovrei metterla al posto dello switch?

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2019
    residenza
    Sicilia
    Messaggi
    86
    Ciao,

    si esatto, la puoi usare per semplificare il codice e, se dovessi aggiungere ulteriori campi alla tabella, ti sarà sufficiente modificare una singola riga di codice

    Codice PHP:
    $whitelist = ['name''surname''email''phone']; // Aggiungi ulteriori valori all'array 

    Invece con lo switch ripeteresti inutilmente la stessa porzione di codice.

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.