Toon posts:

[php] Tjek of de form field zijn gewijzigd..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Is er in php een methode om te tjekken of de form fields zijn gewijzigd?

Ik heb een pagina met gebruiksinformatie, die kan een user updaten hiervoor gebruik ik weer een sql update, alleen update ik elke keer alle velden (10 ofzo) is dit schadelijk voor snelheid e.d?

zoja wil ik de update alleen de velden laten bevatten die in het form daadwerkelijk veranderd zijn..

hoe kan ik dit het best doen?

Verwijderd

Op woensdag 17 april 2002 23:23 schreef Timz het is dit schadelijk voor snelheid e.d?

zoja wil ik de update alleen de velden laten bevatten die in het form daadwerkelijk veranderd zijn..
Niet merkbaar schadelijk.
Hoe wilde je et anders doen dan ?!
Krijg je wel een complexe SQL query..

  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
je haalt eerst alle values uit de database en zet je netjes in de input vakjes neer.

De namen van de input vakjes noem je naam_new, email_new, enz...

dan check je of $naam gelijk is aan $naam_new
$naam is data die uit de database is gehaald, dus de oude data
$naam_new is wat de gebruiker invoerd

Als dit is veranderd moettie upadaten
zoniet niet updaten

if ($naam != $naam_new) { // naam moet geupdate worden }

zoiets :?

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Op woensdag 17 april 2002 23:27 schreef SWINX het volgende:
heel verhaal ->

if ($naam != $naam_new) { // naam moet geupdate worden }

zoiets :?
Niet efficient, gewoon alles opnieuw vullen..

Verwijderd

Topicstarter
Dat was inderdaad ook het idee wat ik zou hebben en vond het ook neit zo`n goed plan...

ik dacht meer iets van stop alle waarden in een array...

submit...

stopp alle waarden in een nieuwe array en tjek wat er veranderd is haal die eruit en zet ze in de update query.. dit is denk ik best ingewikkeld... maar als de update statement niet zo schadelijk is dan maakt het me niet veel uit...

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 23:30
Als je submit en je gebruikt een hidden input field en een wijzigbaar input field, dan kun je daarna in de pagina die moet gaan updaten een contrôle doen:
PHP:
1
<?$triggered = 0;$query = "UPDATE tabelnaam SET ";if($_GET['naam'] != $_GET['naam_oud']){  $query .= "naam = ".$_GET['naam'];  $triggered = 1;}if($_GET['adres'] != $_GET['adres_oud']){  $query .= $triggered ? ", adres = ".$_GET['adres']:"adres  = ".$_GET['adres'];  $triggered = 1;}// etc...?>

Verwijderd

In het formpje waar je je de userinformatie op haalt, kan je ze idd het beste ook in een hidden zetten. Als er dan gesubmit is, check je gewoon zo:
PHP:
1
<?if ($HTTP_POST_VARS["naam_hidden_veld"]!=$veld_ingevuld_door_user) {// hier sql update uitvoeren}?>

da lijkt mij het beste, kan je idd weer een db connectie minder hebben.

Verwijderd

Maakt niks uit qua snelheid, op mysql.org staat dat mysql kijkt of de gegevens veranderd zijn of niet.

is dit niet het geval, dan parsed hij ze ook niet in de database.
Pagina: 1