[PHP] Aggiornare un valore del database tramite form

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Ciao a tutti,
Ho la necessita' di aggiornare il valore 'dato50' del mio database prendendo come riferimento il valore 'dato8'.
dato8 fa da ID insomma...
Ecco il mio form:
index.php
Codice:
<form action="aggiorna_dato.php" method="post">



DATO8 :&nbsp&nbsp<input type="text" name="dato8" /><br><hr>



DATO50:&nbsp&nbsp<input type="text" name="dato50" /><br><hr>



 

<input type="submit" value="SALVA DATI" />

</form>

E qui la pagina php che dovrebbe aggiornare :
aggiorna_dato.php
Codice:
<?php
/*
  blocco dei parametri di connessione
*/
// nome di host
$host = "localhost";
// nome del database
$db = "my_db";
// username dell'utente in connessione
$user = "pippo";
// password dell'utente
$password = "";

/*
  blocco try/catch di gestione delle eccezioni
*/
try {
  // stringa di connessione al DBMS
  $connessione = new PDO("mysql:host=$host;dbname=$db", $user, $password);
  // imposto l'attributo per il report degli errori
  $connessione->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // istruzione per l'aggiornamento
  $aggiorna_dati = $connessione->exec("UPDATE completo SET dato50= 'DATO8' WHERE id =50 ");
  // chiusura della connessione
  $connessione = null;
}
catch(PDOException $e)
{
  // notifica in caso di errore nel tentativo di connessione
  echo $e->getMessage();
}
?>

Non capisco dove sbaglio?
In pratica,tramite il form,inserendo il DATO8 che fara' da id ....deve andare ad aggiornare ...(cancellando e aggiornando il vecchio dato50)

Grazie a tutti in anticipo
 

Eduadie

Utente Attivo
22 Mar 2013
58
7
8
www.mrrobotbet.altervista.org
Ciao a tutti,
Ho la necessita' di aggiornare il valore 'dato50' del mio database prendendo come riferimento il valore 'dato8'.
dato8 fa da ID insomma...
Ecco il mio form:
index.php
Codice:
<form action="aggiorna_dato.php" method="post">



DATO8 :&nbsp&nbsp<input type="text" name="dato8" /><br><hr>



DATO50:&nbsp&nbsp<input type="text" name="dato50" /><br><hr>



 

<input type="submit" value="SALVA DATI" />

</form>

E qui la pagina php che dovrebbe aggiornare :
aggiorna_dato.php
Codice:
<?php
/*
  blocco dei parametri di connessione
*/
// nome di host
$host = "localhost";
// nome del database
$db = "my_db";
// username dell'utente in connessione
$user = "pippo";
// password dell'utente
$password = "";

/*
  blocco try/catch di gestione delle eccezioni
*/
try {
  // stringa di connessione al DBMS
  $connessione = new PDO("mysql:host=$host;dbname=$db", $user, $password);
  // imposto l'attributo per il report degli errori
  $connessione->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  // istruzione per l'aggiornamento
  $aggiorna_dati = $connessione->exec("UPDATE completo SET dato50= 'DATO8' WHERE id =50 ");
  // chiusura della connessione
  $connessione = null;
}
catch(PDOException $e)
{
  // notifica in caso di errore nel tentativo di connessione
  echo $e->getMessage();
}
?>

Non capisco dove sbaglio?
In pratica,tramite il form,inserendo il DATO8 che fara' da id ....deve andare ad aggiornare ...(cancellando e aggiornando il vecchio dato50)

Grazie a tutti in anticipo

Scusami ma tu usi il metodo POST ma nel file aggiorna_dato.php non li recuperi da nessuna parte questi valori.

Devi recuperarli tramite $dato50 = $_POST["dato50"] e dato8 = $_POST["dato8"].

Fatto ciò la query diventa:

UPDATE completo SET dato8 = '$dato8' WHERE id = '$dato50'
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
se l'aggiornamento del "DATO8" dipende da "DATO50" già presente nel db, a cui si applica una formula,
considerati i 6000 record, penso possa suggerirti di usare una query, eliminando il lavoro di inserimento dei valori
posta qualche info in più, se ti interessa questa via
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Ciao Marino51 e ciao a tutti
Nel mio database mysql ho una tabella che gestisce tutto ed e' gia' popolata.
52 colonne denominate dato1,dato2,dato3 etc,etc
circa 6000 righe
Ora , tramite il form postato,inserendo come riferimento il dato8 e attribuendo a dato50 un nuovo valore, invio
al database e vorrei l'aggiornamento del dato50 sulla riga che riguarda il dato8 inserito nel form.
Non so come scriverlo nello script php....
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Cosi non aggiorna il dato..non capisco...
PHP:
<?php
include('../../struttura/header.php');
?>
<center>
<link href="stilefoglio.css" rel="stylesheet" type="text/css">
<?php
$con = mysql_connect("localhost","user","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$dato50 = $_POST["dato50"] e dato8 = $_POST["dato8"]
$sql="UPDATE completo SET dato8 = '$dato8' WHERE id = '$dato50'
VALUES
('$_POST[dato8]','$_POST[dato50]')";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "DATO INSERITO CORRETTAMENTE";
mysql_close($con)
?>
Scusami ma sono alle prime armi
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
correggi in
PHP:
$dato50 = $_POST["dato50"];
$dato8 = $_POST["dato8"];
$sql="UPDATE completo SET dato8 = '$dato8' WHERE id = '$dato50'";
//....
considera poi che se dato50 un numero intero (generlamente gli id sono numeri interi) non ci vogliono gli apici
PHP:
$sql="UPDATE completo SET dato8 = '$dato'8 WHERE id = $dato50";
 

Eduadie

Utente Attivo
22 Mar 2013
58
7
8
www.mrrobotbet.altervista.org
Cosi non aggiorna il dato..non capisco...
PHP:
<?php
include('../../struttura/header.php');
?>
<center>
<link href="stilefoglio.css" rel="stylesheet" type="text/css">
<?php
$con = mysql_connect("localhost","user","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$dato50 = $_POST["dato50"] e dato8 = $_POST["dato8"]
$sql="UPDATE completo SET dato8 = '$dato8' WHERE id = '$dato50'
VALUES
('$_POST[dato8]','$_POST[dato50]')";
if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "DATO INSERITO CORRETTAMENTE";
mysql_close($con)
?>
Scusami ma sono alle prime armi

Secondo me non si tratta di essere alle prime armi.
Non prenderla a male ma come puoi programmare "alle prime armi" se commetti certi errori...
Tu non stai facendo altro che un copia e incolla senza capire minimamente quello che stai facendo perchè copiare una riga del genere $dato50 = $_POST["dato50"] e dato8 = $_POST["dato8"] significa non conoscere proprio nulla.
Ma io lo dico per te, senza offenderti. Leggiti prima un paio di guide/libri/dispense vedrai che risolverai da solo tutti i tuoi quesiti.
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
ciao
correggi in
PHP:
$dato50 = $_POST["dato50"];
$dato8 = $_POST["dato8"];
$sql="UPDATE completo SET dato8 = '$dato8' WHERE id = '$dato50'";
//....
considera poi che se dato50 un numero intero (generlamente gli id sono numeri interi) non ci vogliono gli apici
PHP:
$sql="UPDATE completo SET dato8 = '$dato'8 WHERE id = $dato50";
Non aggiorna Borgo..
Codice:
<?php
$con = mysql_connect("localhost","user","");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$dato50 = $_POST["dato50"];
$dato8 = $_POST["dato8"];
 $sql="UPDATE completo SET DATO8 = '$dato'8 WHERE id = '$dato50'";


if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "DATO INSERITO CORRETTAMENTE";
mysql_close($con)
?>
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
Secondo me non si tratta di essere alle prime armi.
Non prenderla a male ma come puoi programmare "alle prime armi" se commetti certi errori...
Tu non stai facendo altro che un copia e incolla senza capire minimamente quello che stai facendo perchè copiare una riga del genere $dato50 = $_POST["dato50"] e dato8 = $_POST["dato8"] significa non conoscere proprio nulla.
Ma io lo dico per te, senza offenderti. Leggiti prima un paio di guide/libri/dispense vedrai che risolverai da solo tutti i tuoi quesiti.
Non me la prendo...hai ragione..
Penso solo che se non ti va di dare una mano sul forum puoi decidere di non farlo senza ostentare il tuo sapere.
Grazie comunque..
 

Eduadie

Utente Attivo
22 Mar 2013
58
7
8
www.mrrobotbet.altervista.org
Non me la prendo...hai ragione..
Penso solo che se non ti va di dare una mano sul forum puoi decidere di non farlo senza ostentare il tuo sapere.
Grazie comunque..

Se io controllo ogni tanto questo forum è per aiutare quando posso.
Il problema è che comunque anche chi richiede aiuto deve mostrare un minimo di conoscenza sull'argomento.
Non si può pretendere che altri risolvano problemi senza che chi chiede non sappia niente.
"Caio che non ha mai programmato prende un codice da internet e chiede aiuto perchè ha un errore che non sa risolvere" -> "Caio sta chiedendo di fare a qualcuno quello che gli serve e non sa minimamente come fare"
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
Non me la prendo...hai ragione..
Penso solo che se non ti va di dare una mano sul forum puoi decidere di non farlo senza ostentare il tuo sapere.
Grazie comunque..
off topic ?

devi avere pazienza, ma,
va tutto bene se stai facendo un esercizio di comprensione
va altrettanto bene se stai facendo un gioco
va meno bene se ciò che fai è destinato ad un'azienda o ad un ente pubblico
e noi non lo sappiamo, chi suggerisce soluzioni opta per il terzo caso cercando di intravedere tutte le possibilità

per farmi capire, vorrei tu potessi vedere una "Comunicazione mensile al Pensionato", redatta dall'INPS ed antecedente il gennaio 2014,
ebbene, nella comunicazione NON è disponibile nessun "VALORE LORDO", sono presenti le voci "+" e "-" ed un "VALORE NETTO"
già ci si pone la domanda, ma chi è il "WEBETE" che ha sviluppato il software e chi lo ha approvato senza il valore lordo ?
il peggio avviene nel mese di agosto quando, in concomitanza del rimborso irpef,
il lordo ricalcolato differisce in maniera significativa (a danno del pensionato) rispetto ai mesi dello stesso anno

nel lavoro di programmazione occorre distinguere il diletto dal professionale, quest'ultimo richiede perizia ed estrema attenzione

rivolgersi ad un professionista, retribuito, spesso costa meno


@Borgo,
PHP:
$sql="UPDATE completo SET dato8 = '$dato8' WHERE id = $dato50";
nel db ci sono 6000 righe, suppongo che, con la clausola usata, vengano aggiornate molte righe contemporaneamente
altrimenti sarebbe dispendioso inserire 6000 valori con il metodo "form"

ma ... mi astengo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto non fate discussioni inutili.
poi cosa è quell' 8 nella query, hai messo in mezzo l'apice?
$sql="UPDATE completo SET DATO8 = '$dato'8 WHERE id = '$dato50'";
PHP:
$sql="UPDATE completo SET DATO8 = '$dato8' WHERE id = '$dato50'";
poi un dubbio, cosa hai dentro $dato50? posta un esempio
 

giancadeejay

Utente Attivo
26 Ott 2010
224
0
16
torino
ciao
intanto non fate discussioni inutili.
poi cosa è quell' 8 nella query, hai messo in mezzo l'apice?
$sql="UPDATE completo SET DATO8 = '$dato'8 WHERE id = '$dato50'";
PHP:
$sql="UPDATE completo SET DATO8 = '$dato8' WHERE id = '$dato50'";
poi un dubbio, cosa hai dentro $dato50? posta un esempio
L'esempio puo' essere:
Codice:
              TABELLA
id,        DATO1,       DATO2,....,   DATO8, ...........           DATO50
1     1             R3        0        DGF6387                         IN ALTO
2     1             R5        0        DGF6789                         IN BASSO
3     1             R7        0        DFG5555                        AL CENTRO
Se con il mio form inserisco un dato della colonna 8 ,e uno della colonna 50 , l'invio mi deve aggiornare
la nuova posizione della colonna 50 ma solo del dato della colonna 8 che ho inserito nel form
 
Discussioni simili
Autore Titolo Forum Risposte Data
S aggiornare valore di un elemento xml con php PHP 8
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
Leshabituelles Non riesco ad aggiornare PHP PHP 0
P [PHP] Intercettare ed aggiornare campi di un database PHP 5
C [PHP] scrivere o aggiornare record in tabella PHP 7
T Aggiornare una tabella db richiamando da file php PHP 3
M [Javascript] [PHP] aggiornare pagina ogni ora Javascript 2
S Aggiornare una tabella db richiamando da file php PHP 3
S [PHP]Aggiornare pagina in maniera trasparente... PHP 3
M [PHP] Aggiornare i dati dei record selezionati PHP 3
X come aggiornare codice php? PHP 5
ste80 [PHP] cancellare/aggiornare record DB PHP 24
Metazoo Recuperare variabile php da javascript senza aggiornare pagina PHP 5
giancadeejay Aggiornare tabella db con php PHP 10
giancadeejay [PHP] Aggiornare DB tramite UPLOAD file .csv PHP 39
L [PHP] Sommare campi e aggiornare tabella PHP 14
N eseguire pagina php senza aggiornare la pagina Ajax 3
M Aggiornare Plesk e PHP su VPS Linux OVH Server Dedicati e VPS 3
M Aggiornare dato sul db con php Ajax 8
M AIUTO--> Devo aggiornare il PHP Linux e Software 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5

Discussioni simili