Technical References - [replacefounditems]

Replaces each found record in a database with the new field values.

numero = 211
interpreted = N
texte = [replacefounditems]field1=value1&field2=value2[/replacefounditems]

To replace records in an ODBC-compliant table controlled by a SQL server, use the [SQL] context.

To replace field values of records in a database, put a [replacefounditems] context into a template inside a [search] context. As each matching record is found, that record's fields inside the [ReplaceFoundItems] context are replaced with new values.
[index] A number indicating this record's placement in the list. Note that this number is not taken from the database, but is purely a counter as the records are retrieved.
Example:
[search db=base.db&neRefdata=0&Refsort=1][replacefounditems]Ref=[index][/replacefounditems][/search]

this context is much faster than the old technique of nesting a [replace] context inside a [founditems] context. For example: if you currently use something like this to modify many records in a database...

[search db=xx.db&neSKUdata=0][founditems][replace db=xx.db&eqSKUdata=[sku]]value=[math][value]+1[/math][/replace][/founditems][/search]
...then you can change it to the following in order to speed it up considerably:
[search db=xx.db&neSKUdata=0][replacefounditems]value=[math][value]+1[/math][/replacefounditems][/search]
Example:
[search db=products.db&neSKUdata=0][replacefounditems]price=[math][price]*1.1[/math][/replacefounditems][/search]
In the example above, the database "products.db" opens, all records whose sku field is not "0" found, and each of those found record's price fields incremented by 10%. As each found record is visited, that record's field values are available inside the context so you can use them to compute new values.

This behavior is very different from the simpler [replace] context, which replaces all found items with the same value.

Any fieldnames that do not exist in the database are ignored, and if you leave some existing fieldnames out of the replace context, they will remain unchanged in the database. Certain letters are illegal, such as or , so they are converted to and before being added to the database. Some computers use the two-character sequence to indicate a single end of line, which is automatically converted to a single character before being added to the database. These 'soft' characters are automatically converted back to 'hard' versions (the originals) whenever you retrieve fields from a search of the database.

You may specify an absolute or relative path to the database file, as in "/WebCatalog/GeneralStore/somebase.db" or "../somebase.db". You may also place "^" in front of the database path to indicate that the file can be found in a global root folder called "Globals" inside the WebCatalogEngine folder.

Contrast between [replacefoundItems] and [replace]
[search db=products.db&neSKUdata=0] [replacefoundItems] price=[math][price]*1.1[/math] [/replacefoundItems] [/search][replace db=products.db&neSKUdata=0] price=10 [/replace]
SKUprice beforeprice afterSKUprice beforeprice after
155.51510
2101121010
31516.531510
4202242010
53538.553510
[replacefounditems]field1=value1&field2=value2[/replacefounditems]

To replace records in an ODBC-compliant table controlled by a SQL server, use the [SQL] context.


To replace field values of records in a database, put a [replacefounditems] context into a template inside a [search] context. As each matching record is found, that record's fields inside the [replacefounditems] context are replaced with new values.

[index] A number indicating this record's placement in the list. Note that this number is not taken from the database, but is purely a counter as the records are retrieved.

Example:
[search db=base.db&neRefdata=0&Refsort=1]
[replacefounditems]Ref=[index][/replacefounditems]
[/search]

this context is much faster than the old technique of nesting a [replace] context inside a [founditems] context. For example: if you currently use something like this to modify many records in a database...


[search db=xx.db&neSKUdata=0]
[founditems]
[replace db=xx.db&eqSKUdata=[sku]]value=[math][value]+1[/math][/replace]
[/founditems]
[/search]

...then you can change it to the following in order to speed it up considerably:
[search db=xx.db&neSKUdata=0]
[replacefounditems]value=[math][value]+1[/math][/replacefounditems]
[/search]

Example:
[search db=products.db&neSKUdata=0]
[replacefounditems]price=[math][price]*1.1[/math][/replacefounditems]
[/search]

In the example above, the database "products.db" opens, all records whose sku field is not "0" found, and each of those found record's price fields incremented by 10%. As each found record is visited, that record's field values are available inside the context so you can use them to compute new values.

This behavior is very different from the simpler [replace] context, which replaces all found items with the same value.


Any fieldnames that do not exist in the database are ignored, and if you leave some existing fieldnames out of the replace context, they will remain unchanged in the database. Certain letters are illegal, such as or , so they are converted to and before being added to the database. Some computers use the two-character sequence to indicate a single end of line, which is automatically converted to a single character before being added to the database. These 'soft' characters are automatically converted back to 'hard' versions (the originals) whenever you retrieve fields from a search of the database.

You may specify an absolute or relative path to the database file, as in "/WebCatalog/GeneralStore/somebase.db" or "../somebase.db". You may also place "^" in front of the database path to indicate that the file can be found in a global root folder called "Globals" inside the WebCatalogEngine folder.


Contrast between [replacefounditems] and [replace]
[search db=products.db&neSKUdata=0]
[replacefounditems]
price=[math][price]*1.1[/math]
[/replacefoundItems]
[/search]
[replace db=products.db&neSKUdata=0]
price=10
[/replace]
SKUprice beforeprice afterSKUprice beforeprice after
155.51510
2101121010
31516.531510
4202242010
53538.553510

DOWNLOAD WEBDNA NOW!

Top Articles:

WebDNA Libraries

A list of available libraries for WebDNA...

AWS Raw WebDNA LAMP-Plus WebServer

Amazon Web Services (AWS) README for Machine Image ID...

[biotype]

BioType is a behavioral biometrics WebDNA function based on ADGS research and development (from version 8...

WebDNA Modules

A list of the currently available modules...

Technical Change History

This Technical Change History provides a reverse chronological list of WebDNA changes...

Download WebDNA Applications

WebDNA applications...

Related Readings:

Implement BioType

Here is the JavaScript code that captures the keystroke dynamics of a demo user and how to make WebDNA analyze it...

[founditems]

[founditems]...

[uppercase]

Changes all lower case letters to upper case...

[listmimeheaders]

Lists all the MIME header names and values sent from the remote browser...

[replacefounditems]

Replaces each found record in a database with the new field values...

[waitforfile]

The server waits until the file appears on disk...