close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

Conditional Update - Only update certain field if another field has been changed

Thread begun 8/25/2014 3:43 pm by dlovas275157 | Last modified 9/08/2014 8:45 am by Jason Byrnes | 2321 views | 5 replies |

dlovas275157

Conditional Update - Only update certain field if another field has been changed

This post is related to a recent post here:
http://www.webassist.com/forums/posts.php?id=35295

I am working on a permalink solution for my webassist based sites, and I have two database fields in a table:
careerTitle
careerPermalink

I have the insert.php page working great (thanks to Jason's previous help). The careerPermalink is based off the careerTitle field and increments (-1, or -2) if the title is already present by doing an occurrence count via a recordset.

On the update.php page, I would like the careerPermalink database field to only update (and do the increment) if the careerTitle database field has changed. Is there a way to perform a check (if careerTitle is being changed) and then update the careerPermalink and do the increment if needed?

Attached is my existing code.

Sign in to reply to this post

Jason ByrnesWebAssist

create a hidden form element in the form named OrigTitle and bind it to the title column from the recordset. create another hidden element named OrigPermaLink and bind it to the perma link column of the recordset. then use the following code for the permalink binding:

<?php echo(($_POST["careerTitle"] != $_POST["OrigTitle"])?strtolower(((isset($_POST["careerTitle"]))?str_replace(" ","-",$_POST["careerTitle"]).(($row_rsOccurrencePermalink["occurrenceCount"] > 0)?"-".$row_rsOccurrencePermalink["occurrenceCount"]:""):"")):$_POST["OrigPermaLink"]); ?>



this will compare the posted title to the origianl title and create the perma link if it is different, or use the original perma link if not.

Sign in to reply to this post

dlovas275157

I have my permalinks working well, there is just 1 small issue surrunding the update.php page and the increment/count when a record with the same tilte already exists.

Here is in detail the issue:

If I create a career listing and enter a title of "My Title", the insert works great. If I update that listing, it updates correctly and only changes the "careerPermalink" field if the "careerTitle" field has changed, and it only increments if needed. If i add a second entry with the same name, it will increment it properly with -1 as expected.

Problem:
Problem occurs when you enter two careers with identical titles, and then immediately update the second entry for the very first time without changing anything (it will increment it from -1 to -2 when not needed).

Since this is a little hard to follow, I have provided in the private message area, access to my pages so you can add/update and hopefully see easier what is going on. Add 2 records witht he same careerTitle, and then immediately update the second one without making any changes, you will see the un-needed increment. Repeated updates after this update are not problematic.

Sign in to reply to this post

Jason ByrnesWebAssist

This is as expected

you create 2 records with the same title, so the occurrence count of the title would be 2

when you inset the first one, the title occurance count is 0

when you insert the second, the occuerance count is 1

when you update either one, the occurance count now becomes 2


you have not implemented what i sugested in message 2 so that the update will only occur if you make a change to the title

Sign in to reply to this post

dlovas275157

Ok, i rebuilt the Update SB following your procedure exactly and it is working now.

Not sure what happened, i think my files reverted and i lost a version.

Regardless it is working, and to slightly improve upon it i used:

preg_replace("/[\W]+/" instead of str_replace(" " to strip out any non-alpha numeric characters so the permalinks look nicer. For some reason /[\W]+/ only works with preg_replace and preg_replace does not work with the WebAssist DA Wizard so i have to swap the code after it is built with DA in code view. The wizard adds an extra slash for some reason as follows: \\W

Again, appreciate the help.

Daniel

Sign in to reply to this post

Jason ByrnesWebAssist

ok, glad to hear it is working.

Sign in to reply to this post

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...