update query tramite funzione

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
43
Massa, Italy
Salve, sto leggendo varie guide tra qui e la "html.it",
ed ho recuperato questa funzione per l'inserimento ..
PHP:
 //funzione per l'inserimento dei dati in tabella
    public function inserisci($t,$v,$r = null)
    {
        $istruzione = 'INSERT INTO '.$t;
            if($r != null)
            {
                $istruzione .= ' ('.$r.')';
            }

            for($i = 0; $i < count($v); $i++)
            {
                if(is_string($v[$i]))
                    $v[$i] = '"'.$v[$i].'"';
            }
            $v = implode(',',$v);
            $istruzione .= ' VALUES ('.$v.')';

            $query = $this->sqli->query($istruzione) or die ($this->sqli->error);
          return TRUE;
        }

ora come faccio ad usare il solito metodo ma per fare l'update?

questa funzione si usa cosi:
PHP:
if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
	$username = $Data->protect($_POST["username"]);
	$password = $_POST["password"];
	$name = $_POST["name"];
	$firstname = $_POST["firstname"];
	$sex = $_POST["sex"];
	$data = $_POST["data"];
	$nation = $_POST["nation"];
	$email = $_POST["email"];
	$isAdmin = $_POST["isAdmin"];
	$data_reg = $_POST["data_reg"];
	
	$t = "users"; # nome della tabella
    $v = array ($username,$password,$name,$firstname,$sex,$data,$nation,$email,$isAdmin,$data_reg); # valori da inserire
    $r =  "username,password,name,firstname,sex,data,nation,email,isAdmin,data_reg"; # campi da popolare
	
    $add = $Data->inserisci($t,$v,$r);
    if ($add) {
        // Registration Success
        $msg = 'Inserito';
    } else {
        // Registration Failed
        $error =  'Errore';
    }
}

mi dite come fare?, grazie mille e buona giornata..

saluti.



grazie mille
 
Direi che hai seguito delle guide ma non ti sono molto chiare, anche perchè cosa vorresti indicare con $Data? Lo usi come se fosse un uggetto ma non vedo nessuna dichiarazione dello stesso come oggetto.
In aggiunta non vedo la connessione al db.
 
ciao longo8.. ti ringrazio per avermi riposto... ma è meglio che di dico che quel codice sta dentro in una classe..ed ora ti posto la classe intera:
PHP:
<?php
class Data {

public function __construct($sqli) {
		$this->sqli=$sqli;
}
 
 public function protect($string) {
        // pulizia tag html
        $string = strip_tags($string);
        // restituzione escape stringa
        return $this->sqli->real_escape_string($string);
    }

   //funzione per l'inserimento dei dati in tabella
    public function inserisci($t,$v,$r = null)
    {
        $istruzione = 'INSERT INTO '.$t;
            if($r != null)
            {
                $istruzione .= ' ('.$r.')';
            }

            for($i = 0; $i < count($v); $i++)
            {
                if(is_string($v[$i]))
                    $v[$i] = '"'.$v[$i].'"';
            }
            $v = implode(',',$v);
            $istruzione .= ' VALUES ('.$v.')';

            $query = $this->sqli->query($istruzione) or die ($this->sqli->error);
          return TRUE;
        }
}

hai idea come far fare la cosa che chiedevo?


poi il caricamento nella pagina di modifica dati.

ho l'autoload che carica tutte le mie classi e io ti ho fatto solo vedere solo il pezzettino di codice che faccio per far inserire l'utente al database che sono solo io
inserisco l'utente e non è lo stesso utente che si auto iscrive etc..

la classe la richiamo cosi:
PHP:
$Data = new Data($sqli);

in cima alla pagina di user_add.php

ti ringrazio molto e scusa per il ritardo ma ero via.

saluti,
luigi.
 

Discussioni simili