[php]Gewijzigde $_POST data traceren na uitlezen database

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • wboard
  • Registratie: Juli 2002
  • Laatst online: 04-04-2022

wboard

-=<wboard>=-

Topicstarter
Mijn titel is misschien wat vaag, maar kon niets beters verzinnen helaaas :?.
Waar ik mee zit is het volgende:
Een klant wilt een offerte opvragen, klant gaat naar een formulier toe, dat formulier laat zijn values standaard uit een mysql database. De klant kan vervolgens zijn gewenste gegevens wijzigen en vervolgens wordt de email verzonden.
Het probleem is: Hoe kan ik er voor zorgen dat bijvoorbeeld de door de klant gewijzigde data
vet gedrukt (o.i.d.) gemaild wordt naar de ontvanger (de leverancier dus).

Moet dat gebeuren met één of andere vergelijkingsfunctie wat ik nog niet ken, of met regexen oid.

Ik heb flink gezocht en kwam zelf op dit moment niet op een briljant idee :? 8)7

A smooth sea never made a skilled sailor


Acties:
  • 0 Henk 'm!

  • TwoR
  • Registratie: Augustus 2002
  • Nu online

TwoR

Gekleurde stippen

Je kan toch gewoon de gewijzigde gegevens vergelijken met degene uit de DB en de gegevens daarna pas weer weg schrijven in de database?

Acties:
  • 0 Henk 'm!

  • wboard
  • Registratie: Juli 2002
  • Laatst online: 04-04-2022

wboard

-=<wboard>=-

Topicstarter
ik hoef niets weg te schrijven naar de database,

kijk: een aanbieding heeft bepaalde eigenschappen, soms wil een klant net iets anders
dan voert hij net iets anders in het formulier veld in (bijvoorbeeld dat hij een andere kleur sticker wil (ik zeg maar wat ;)). Nu zijn de mensen op de zaak veel te lang bezig om te kijken wat die potentiele klant gewijzigd heeft!. Daarom was mijn idee om dus de gewijzigde data vet gedrukt te laten worden zodat men op de zaak meteen ziet wat de klant anders t.o.v. de standaard aanbieding heeft aangevraagd.

schnappie ? >:)

A smooth sea never made a skilled sailor


Acties:
  • 0 Henk 'm!

  • b19a
  • Registratie: September 2002
  • Niet online
PHP:
1
2
3
4
if($DB['kleur_sticker']!=$_POST['kleur_sticker'])
{
// doe iets
}
Met zoiets kun je dit toch gaan doen?

Acties:
  • 0 Henk 'm!

  • Zoefff
  • Registratie: September 2001
  • Laatst online: 12:37

Zoefff

❤ 

Lijkt me heel simpel toch?

Je hebt een berg $_POST veriabelen, die je gewoon stuk voor stuk moet vergelijken met de waarde in je database.
PHP:
1
if ($_POST['bla'] != $r['blauitdatabase']) { vet gedrukt maken; }


Kan vast nog eenvoudiger en efficiënter, maar dit is het basisidee :P

[ Voor 5% gewijzigd door Zoefff op 04-02-2005 10:33 ]


FotoblogWerkaandemuur.nlMoestuincursus.nlTwitter


Acties:
  • 0 Henk 'm!

  • TwoR
  • Registratie: Augustus 2002
  • Nu online

TwoR

Gekleurde stippen

wboard schreef op vrijdag 04 februari 2005 @ 10:26:
ik hoef niets weg te schrijven naar de database,

kijk: een aanbieding heeft bepaalde eigenschappen, soms wil een klant net iets anders
dan voert hij net iets anders in het formulier veld in (bijvoorbeeld dat hij een andere kleur sticker wil (ik zeg maar wat ;)). Nu zijn de mensen op de zaak veel te lang bezig om te kijken wat die potentiele klant gewijzigd heeft!. Daarom was mijn idee om dus de gewijzigde data vet gedrukt te laten worden zodat men op de zaak meteen ziet wat de klant anders t.o.v. de standaard aanbieding heeft aangevraagd.

schnappie ? >:)
Ja inderdaad maar dan doe je toch gewoon alles wat uit $_POST komt vergelijken met alles uit de DB? En dan niet weer wegschrijven. Dus hetzelfde als wat ik net zei alleen dan niet weer wegschrijven.

offtopic:
'k moet mijn post schermpje niet te lang open laten staan want dan zijn er al weer 2 personen voor je die hetzelfde posten.

[ Voor 8% gewijzigd door TwoR op 04-02-2005 10:35 ]


Acties:
  • 0 Henk 'm!

  • wboard
  • Registratie: Juli 2002
  • Laatst online: 04-04-2022

wboard

-=<wboard>=-

Topicstarter
dat kan idd wel, maar vaak zijn het GROTE textblokken,
als het kleine velden zijn kan dat idd wel ja :).
Maar het gaat dus om grote textblokken!

vergelijk het met, dat ik in jouw reply net iets wijzig, waarna dat dus vet moet worden.

[ Voor 24% gewijzigd door wboard op 04-02-2005 10:37 ]

A smooth sea never made a skilled sailor


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 02:21

Janoz

Moderator Devschuur®

!litemod

Tja, probleem omschrijving is duidelijk ook een vak ;). Je wilt dus van twee stukken tekst aangeven wat het verschil tussen beide is. Onder linux is hier een tootlje voor dat diff heet. Deze term wordt vaker gebruikt voor dit soort dingen. Misschien kun je met die term wel wat interesants vinden via google?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • wboard
  • Registratie: Juli 2002
  • Laatst online: 04-04-2022

wboard

-=<wboard>=-

Topicstarter
Ik heb het ff overlegd, maar ik doe het nu op de manier die jullie aandroegen,
alleen wilde ik eigenlijk voor de grote textblokken ook snel verschillen zien.
Dat programmeren is volgens mij redelijk complex, moet je met regexen werken oid.

A smooth sea never made a skilled sailor


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

data uit db: $db = array();
data van form: $_POST
PHP:
1
2
3
4
$diff = array();
foreach($_POST as $key => $val) {
  if($_POST[$key] != $db[$key]) $diff[] = $key;
}

Nu staan alle velden die verschillend zijn in de array $diff. Daar kun je dan wat leuks mee gaan doen. Zoiets, of denk ik nu veel te simpel?

Acties:
  • 0 Henk 'm!

  • wboard
  • Registratie: Juli 2002
  • Laatst online: 04-04-2022

wboard

-=<wboard>=-

Topicstarter
Zoiets, of denk ik nu veel te simpel?
JA ;)
Als je 1 textfield dat erg groot is wijzigd (1 letter verschil bijvoorbeeld), heb je daar niets aan. dan moet je nog heel dat text fieldje doorlezen :S,

wat betreft het diff commando -> kga ff googllen

A smooth sea never made a skilled sailor


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Nu online
Er is door iemand op GoT een scriptje geschreven dat het verschil tussen twee teksten uitspuugd. Ik heb hem toen zeker opgeslagen en zal wel ff voor je zoeken. Misschien kun je het vinden met de search.

Aha gevonden:
Code en een Voorbeeld van de mogelijkheden.. :)

En het topic ook maar ff opgezocht: [Algoritme (elke taal)] Verschillen tussen 2 strings

[ Voor 52% gewijzigd door T-MOB op 04-02-2005 13:52 ]

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • wboard
  • Registratie: Juli 2002
  • Laatst online: 04-04-2022

wboard

-=<wboard>=-

Topicstarter
als je dat zou willen doen graag :), ik zoek idd ook ff

OK DAN!!, merci bien! _/-\o_

[ Voor 24% gewijzigd door wboard op 04-02-2005 13:55 ]

A smooth sea never made a skilled sailor


Acties:
  • 0 Henk 'm!

  • X-Lars
  • Registratie: Januari 2004
  • Niet online

X-Lars

Just GoT it.

tnx, neat :)
Pagina: 1