Newbies LFFMHelp Posted February 17, 2012 Newbies Posted February 17, 2012 I'm attempting to update the number of times a Knowledge Base Article has been viewed when they click to view the article, however being new to using FX.php I can't seem to get this to work correctly. I would appreciate any insight and feedback on how to set this up correctly. Thank you in advance. <?php $kb_articles = $_GET['id']; // Inialize session session_start(); error_reporting (E_ALL ^ E_NOTICE); define("DEBUG", false); include_once($_SERVER['DOCUMENT_ROOT'] . "/FX/FX.php"); include_once($_SERVER['DOCUMENT_ROOT'] . "/FX/server_helpdesk.php"); $returncount = 1; $query = new FX($serverIP, $webCompanionPort, $dataSourceType); $query->SetDBData ("HelpDesk.fp5", "Main", "$returncount"); $query->SetDBUserPass ($webUN, $webPW); $query->AddDBParam('ID',$kb_articles,'eq'); $result = $query->FMFind(); ?> In the body section of the php page I have: <?php foreach ($result['data'] as $key => $value) { echo '<div id="popupevents">'; echo '<h2>Knowledage Base Article: '.$value['ID'][0].'</h2>'; echo '<table id="kba_table" cellspacing="0" summary="Knowledge Base Article Information" border="1">'; echo '<caption>Knowledge Base Article: '.$value['ID'][0].'</caption> '; echo '<tr>'; echo '<th scope="col" abbr="Title" class="title" width="25%">Title:</th>'; echo '<td> '.$value['Title'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Category ID">Category:</th>'; echo '<td> '.$value['Category1'][0].', '.$value['Category2'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Summary">Summary:</th>'; echo '<td> '.$value['Summary'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Description">Description:</th>'; echo '<td> '.nl2br($value['Description'][0]).'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Creation Date">Creation Date:</th>'; echo '<td> '.$value['Creation_Date'][0].' by '.$value['Created_By'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Modification Date">Modification Date:</th>'; echo '<td> '.$value['Modification_Date'][0].' by '.$value['Modified_By'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Keywords">Keywords:</th>'; echo '<td> '.$value['Keywords'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Platform">Platform:</th>'; echo '<td> '.$value['Platform'][0].'</td>'; echo '</tr>'; echo '<tr>'; echo '<th scope="col" abbr="Operating System">Operating System:</th>'; echo '<td> '.$value['Operating_System'][0].'</td>'; echo '</tr>'; echo '</table>'; echo '<p class="space"></p>'; echo '<a href="javascript:window.close();">Close This Window</a>'; echo '</div>'; $viewcount = ++$value['Views'][0]; $queryadd = new FX($serverIP, $webCompanionPort); $queryadd->SetDBData ("HelpDesk.fp5", "Main"); $queryadd->AddDBParam('-recid', $viewcount); $queryadd->AddDBParam('Views', $viewcount); $updateResult = $queryadd->FMEdit(); echo $viewcount; } ?> When I echo the $viewcount; it returns the correct value but the 'Views' field in the database isn't being adjusted. I'm sure I have something wrong in the italicized section. Again thanks for your help. -Ken
Newbies LFFMHelp Posted February 20, 2012 Author Newbies Posted February 20, 2012 After doing some more research and experimenting with code I got it to work today. Here is the change that I made: $recordPointers = explode ('.', $key); $updateResult = $recordPointers[0]; $viewcount = ++$value['Views'][0]; $queryadd = new FX($serverIP, $webCompanionPort); $queryadd->SetDBData ("HelpDesk.fp5", "Main"); $queryadd->SetDBUserPass ($webUN, $webPW); $queryadd->AddDBParam('Views', $viewcount); $queryadd->AddDBParam('-recid', $updateResult); $updateResult = $queryadd->FMEdit(); Items in red have been added/modified. If anyone has an easier or cleaner way of doing this please let me know. Thanks. -Ken
webko Posted February 21, 2012 Posted February 21, 2012 I usually call mine $recID so I know what it's for always, but that's the right idea...
Recommended Posts
This topic is 4728 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now