Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[php/postgres] Update script voor Postgres in php

Pagina: 1
Acties:

Onderwerpen


  • bokkiewok
  • Registratie: juni 2001
  • Laatst online: 28-03 22:10
Hoi,

Ik ben bezig om een update script te bouwen in php voor het updaten van info in een postgres database.
Het betreft een poormans-cmdb waarin gegevens staan van systemen en de projecten waar ze aan gekoppeld zijn. Ik heb de volgende opzet bedacht:

- selecteer de hostnaam van het systeem uit een pulldownmenu (script 1)
- vraag alles gegevens op van dit systeem en presenteer deze in text inputs (script2)
- pas de gegevens aan en submit (script update de database) (script3)

Het 'probleem' waar ik nu tegen aan loop, is dit:

Ik heb 10 velden die je kunt aanpassen. Stel, ik wil er slechts 1 of 2 aanpassen. Hoe kan ik er dan voor zorgen dat het script alleen de aangepaste velden aanpast ? Ik heb de hostnaam al, dus kan met een update-query de desbetreffende velden aanpassen. Mijn probleem is echter om dit in een form te gieten waarbij ik kan aangeven welke velden moeten worden aangepast.

Ik zat zelf er aan te denken om met checkboxes te werken die dezelfde name-waarde hebben als de textinput fields, maar er zijn wellicht andere, elegantere oplossingen. Ik hoef geen diepgaande technische oplossing, slechts een richting waar ik in moet denken aangezien ik geen tijd heb om hier dagen aan te prutsen.

Bij voorbaat dank !
Bokkiewok

  • storeman
  • Registratie: april 2004
  • Laatst online: 07-04 20:11
Ik denk dat je het jezelf te moeilijk maakt.

Je kunt gewoon een update doen en alle velden updaten. Aangezien je alle velden al vult met huidige waarden, zullen deze er gewoon ingezet worden.

"Chaos kan niet uit de hand lopen"


  • bokkiewok
  • Registratie: juni 2001
  • Laatst online: 28-03 22:10
Hoi storeman,

Ik zat zelf ook aan een complete update te denken, maar om de een of andere reden vond ik dat geen goed idee...Maar wellicht is het dat dus toch... :-) :-)

In ieder geval bedankt !

  • Manuel
  • Registratie: maart 2008
  • Laatst online: 07-04 20:55
Om nog even antwoord te geven op je vraag, het is ook mogelijk om de waarden simpelweg te vergelijken door middel van PHP. Je slaat gewoon het antwoord van je SELECT statement op en kan je daarna met een $_POST vergelijken.

  • storeman
  • Registratie: april 2004
  • Laatst online: 07-04 20:11
Dat kan inderdaad ook, maar dan voer je twee queries uit, terwijl het resultaat altijd hetzelfde is als je simpelweg alle velden update.

"Chaos kan niet uit de hand lopen"


  • Manuel
  • Registratie: maart 2008
  • Laatst online: 07-04 20:55
Niet helemaal storeman. Om de data weer te geven gebruikt hij een SELECT (kon je maar met een UPDATE ook alle gegevens ophalen. :)), dus je houdt het ook gewoon bij 1 query.

Al ben ik het met jullie eens dat het makkelijker is gewoon 1x een UPDATE statement te gaan maken. Scheelt weer het nodige aantal if-statements/case's.

  • YopY
  • Registratie: september 2003
  • Laatst online: 03-04 12:00
quote:
Stel, ik wil er slechts 1 of 2 aanpassen. Hoe kan ik er dan voor zorgen dat het script alleen de aangepaste velden aanpast ?
Uit de losse pols:
SQL:
1
UPDATE tabel SET waarde = nieuwewaarde WHERE id = x AND waarde NOT nieuwewaarde

Lijkt mij, tenminste, of ik begrijp je vraagstelling niet goed.

  • bokkiewok
  • Registratie: juni 2001
  • Laatst online: 28-03 22:10
Hoi,

bedankt voor alle reacties. Ik heb het script inmiddels aan de gang !

cheers,
bokkiewok
Pagina: 1


Apple iPhone 11 Microsoft Xbox Series X LG OLED C9 Google Pixel 4 CES 2020 Samsung Galaxy S20 4G Sony PlayStation 5 Nintendo Switch Lite

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2020 Hosting door True