Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti
Zeekr sbarca ufficialmente in Italia con tre modelli elettrici premium, X, 7X e 001, distribuiti da Jameel Motors su una rete di 52 punti vendita già attivi. La Zeekr X parte da 39.900 euro, la 7X da 54.100: piattaforma a 800V, chip Snapdragon di ultima generazione, ricarica ultraveloce e un'autonomia dichiarata fino a 615 km WLTP. Le prime consegne sono previste a metà aprile
Marathon: arriva il Fortnite hardcore
Marathon: arriva il Fortnite hardcore
Marathon è il titolo multiplayer competitivo del momento. Ecco quali sono le caratteristiche di gioco principali, insieme alle nostre prime considerazioni dopo qualche "run" nell'extraction shooter di Bungie
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-10-2007, 09:37   #1
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
[PHP] inviare solo dati modificati

Supponendo di avere un form per la modifica dei dati presenti in un database, si può effettuare il submit dei soli dati modificati senza inviare quelli non modificati?

L'unica soluzione che mi è venuta in mente fino ad ora è quella di creare un form che contenga dei campi hidden generati dall'evento onchange di javascript e fare il submit di quest'ultimo form.
Non so se la soluzione è fattibile... altrimenti c'è un modo meno complesso?
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 09:42   #2
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
A che prò?
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 09:53   #3
Bl4xoR
Senior Member
 
L'Avatar di Bl4xoR
 
Iscritto dal: Feb 2005
Città: Bisceglie (BT)
Messaggi: 1091
un modo semplice che mi viene in mente è che prima di caricare il form (nel codice)... vai nel database e prelevi i dati che ci sono, mettendoli nelle relative variabili.

al submit fai il confronto di quelle prelevate da DB e di quelle POST o GET (a seconda della modalità utilizzata) che vengono dal form.
__________________
[Laptop] DELL XPS 15 9510 (2021) i7-11800H, 16GB, 1TB SSD WDC SN730 NVMe, GeForce RTX 3050 4GB, Display Full HD [Mobile] Google Pixel 4a
Bl4xoR è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 09:55   #4
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Quote:
Originariamente inviato da isAlreadyInUse Guarda i messaggi
A che prò?
Per non fare un lungo update.
Mettiamo caso di avere il classico form anagrafico di una serie di persone.
Se io su 40-50 persone modifico solo una 4-5 campi (es. l'indirizzo di pippo, il cap di pluto e così via), non mi sembrerebbe il caso di fare il submit e l'update di tutti i dati presenti nella tabella.
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 10:00   #5
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Presumo che un form si riferisca ad un unica persona quindi modificando quella fai l'update solo su quel record. O sbagio?
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 10:32   #6
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Quote:
Originariamente inviato da isAlreadyInUse Guarda i messaggi
Presumo che un form si riferisca ad un unica persona quindi modificando quella fai l'update solo su quel record. O sbagio?
Se il form e la query sono fatte come dici tu, è giusto e non ci sarebbero problemi.
Il mio problema era riferito ad un caso in cui non compaiono i campi di modifica per una sola persona (o prodotti o altro), ma per una serie di dati (es.: un'interrogazione al db di tutte le persone nate in una certa città) e tutti i relativi dati li inserisco in campi di input (ad eccezione del loro id).
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 10:43   #7
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Quote:
Originariamente inviato da Bl4xoR Guarda i messaggi
un modo semplice che mi viene in mente è che prima di caricare il form (nel codice)... vai nel database e prelevi i dati che ci sono, mettendoli nelle relative variabili.

al submit fai il confronto di quelle prelevate da DB e di quelle POST o GET (a seconda della modalità utilizzata) che vengono dal form.
Il problema è dopo il controllo come escludo i campi non modificati?
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 10:50   #8
isAlreadyInUse
Senior Member
 
L'Avatar di isAlreadyInUse
 
Iscritto dal: Sep 2007
Messaggi: 754
Piu che altro dovresti tener traccia non dei campi ma dei record che sono stati modificati. Altrimenti come componi la query di update?
__________________
http://www.tevigroup.it/
isAlreadyInUse è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 11:02   #9
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Quote:
Originariamente inviato da isAlreadyInUse Guarda i messaggi
Piu che altro dovresti tener traccia non dei campi ma dei record che sono stati modificati. Altrimenti come componi la query di update?
Quando faccio la select recupero l'id di ogni riga e i campi di input del form hanno un nome progressivo (es. nome1, nome2, nome3 etc, cognome1, cognome2, cognome3 e così via).
Quindi l'update non è un problema.
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 11:19   #10
Bl4xoR
Senior Member
 
L'Avatar di Bl4xoR
 
Iscritto dal: Feb 2005
Città: Bisceglie (BT)
Messaggi: 1091
Quote:
Originariamente inviato da Fabiorayden Guarda i messaggi
Il problema è dopo il controllo come escludo i campi non modificati?
Cmq riflettendoci un pò il codice PHP si incarta e non poco... e la query SQL (facendo l'update dei campi anche non modificati, quindi rimettendoli) è MOLTO più veloce di quanto pensi.

Io farei rifare l'update anche a ciò che non si modifica.
__________________
[Laptop] DELL XPS 15 9510 (2021) i7-11800H, 16GB, 1TB SSD WDC SN730 NVMe, GeForce RTX 3050 4GB, Display Full HD [Mobile] Google Pixel 4a
Bl4xoR è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 12:24   #11
Gremo
Senior Member
 
L'Avatar di Gremo
 
Iscritto dal: Oct 2000
Città: Udine
Messaggi: 3178
se ho capito bene il problema, con una query parametrica come suggerito...
per capire se i campi sono stati modificati, non useri javascript perchè:
1) più complesso
2) mai affidare queste operazioni lato client
3) posso disabilitare javascript
4) non mi piace

credo puoi fare una cosa del genere:

Codice:
<form>
 <input type="nome" value="Marco" />
 <input type="hidden" name="<?php md5(nome)?>" value="<?php md5(Marco)?>"
</form>

<?php

if (submit)
{

//
// md5($REQUEST["nome"]) hash del nuovo? valore
// inserito dall'utente nel capo nome
//
// $REQUEST[md5("nome")] nome del campo hidden relativo
// (per ottenere l'hash originale) che memorizza
// l'hash del valore originale del campo
//

$old_value = $REQUEST[md5("nome")];
$new_value = md5($REQUEST["nome"]);

 if  $new_value != $old_value  // campo modificato
 {
   $query += "SET 'nome' = addslashes($new_value)"
 }

}

?>
spero di non aver fatto casini
scusa lo pseudo codice ma non ricordo benissimo il php.
eventualmente quel controllo transformato in funzione, con il nome del capo da controllare passato alla funzione
__________________

Desktop: Intel i7-4770K | Asus Gryphon Z87 | Crucial 16GB DDR3 1600MHz | Gigabyte GTX 780 OC Windforce x3 | Samsung 840 Pro 128GB (x 2 RAID0) | be quiet! Straight Power E9 680W CM
Mercatino: bottoni, Dede371, pippokennedy, Bulbi_67, randose, DarkSiDE, davidepaco, _Legend_

Ultima modifica di Gremo : 05-10-2007 alle 12:31.
Gremo è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 13:16   #12
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Quote:
Originariamente inviato da Gremo Guarda i messaggi
se ho capito bene il problema, con una query parametrica come suggerito...
per capire se i campi sono stati modificati, non useri javascript perchè:
1) più complesso
2) mai affidare queste operazioni lato client
3) posso disabilitare javascript
4) non mi piace

credo puoi fare una cosa del genere:


spero di non aver fatto casini
scusa lo pseudo codice ma non ricordo benissimo il php.
eventualmente quel controllo transformato in funzione, con il nome del capo da controllare passato alla funzione
Se non ho interpretato male il codice, il controllo avviene dopo aver fatto il submit dei dati.
Io invece volevo fare il submit dei soli dati aggiornati.
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 14:22   #13
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Fai un array di javascript contenente i vecchi dati, quindi nell'onsubmit controlli i dati vecchi con i dati nuovi ed elimini i campi per i dati uguali. Per esempio:

Codice:
<?
$res = mysql_query(...)
$row = mysql_fetch_assoc($res);
?>

var old_values = {
  nome: "<?= $row['nome'] ?>",
  cognome: "<?= $row['cognome'] ?>",
}

form.onsubmit = function()
{
  for (var i = 0; i < this.length; i++)
  {
     if (old_values[ this[i].name ] && old_values[ this[i].name ] == this[i].value)
     {
        this[i].parentNode.removeChild( this[i] );
     }
  }
}
PS: mi sembra un'assurdità
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 05-10-2007, 14:44   #14
Fabiorayden
Member
 
L'Avatar di Fabiorayden
 
Iscritto dal: Nov 2005
Città: Torino
Messaggi: 289
Per adesso quindi l'unica soluzione (che però sinceramente non farei) è quella di fare un confronto fra vecchio valore e nuovo valore.
Alla fine credo che ci vorrebbe più tempo a controllare tutti i campi che a farne l'update sul database.
__________________
Toshiba Satellite A100-926: Intel Core 2 Duo T7200, 2 GB ram ddr2, ATI MOBILITY RADEON X1600 512 MB Hypermemory (256 MB+256 MB)
Fabiorayden è offline   Rispondi citando il messaggio o parte di esso
Old 06-10-2007, 14:03   #15
Bl4xoR
Senior Member
 
L'Avatar di Bl4xoR
 
Iscritto dal: Feb 2005
Città: Bisceglie (BT)
Messaggi: 1091
Quote:
Originariamente inviato da Fabiorayden Guarda i messaggi
Per adesso quindi l'unica soluzione (che però sinceramente non farei) è quella di fare un confronto fra vecchio valore e nuovo valore.
Alla fine credo che ci vorrebbe più tempo a controllare tutti i campi che a farne l'update sul database.
(c.v.d)
__________________
[Laptop] DELL XPS 15 9510 (2021) i7-11800H, 16GB, 1TB SSD WDC SN730 NVMe, GeForce RTX 3050 4GB, Display Full HD [Mobile] Google Pixel 4a
Bl4xoR è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Zeekr X e 7X provate: prezzi, autonomia fino a 615 km e ricarica in 13 minuti Zeekr X e 7X provate: prezzi, autonomia fino a 6...
Marathon: arriva il Fortnite hardcore Marathon: arriva il Fortnite hardcore
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
La risposta all'invasione degli agenti I...
Fire TV Stick: tutta la gamma Amazon in ...
ChatGPT arriva su CarPlay: OpenAI introd...
Un nuovo gioco RPG de Il Signore degli A...
Problemi di prestazioni per MacBook Pro ...
I limiti di utilizzo di Claude sono trop...
Stop al ransomware su Google Drive: avvi...
Pragmata entra in fase gold: il titolo d...
Recensione Crimson Desert: la mastodonti...
Google Pixel 11 Pro: i render svelano il...
Ray-Ban Meta: arrivano Blayzer e Scriber...
Ecco le 7 offerte presenti su Amazon col...
Apple compie 50 anni: dai garage di Los ...
OpenAI raccoglie 122 miliardi di dollari...
Blink Outdoor 4 e Mini 2K+ in offerta su...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:03.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v