Solved

Compare and find similar strings in 2 fields and insert into MYSQL

Posted on 2009-05-19
7
381 Views
Last Modified: 2013-12-12
I need to compare 2 items find the similar string and insert that into a row in MYSQL.

Here is an example.
SKU = abcdx
KEY= 123abcdy
The common characters in this example would be value= abcd

I want to insert into MYSQL SKU, KEY and then the value which are the common characters.
$p="";
$i=0;
do
{
  if ($i) $p = "@".$i;
  if ($record["CLASS/COLORGROUP/PRODUCT/KEY".$p])
  {
    $key = $record["CLASS/COLORGROUP/PRODUCT/KEY".$p];
    $color_code = $record["CLASS/COLORGROUP/PRODUCT/COLOR_CODE".$p];
    $color_code_description = $record["CLASS/COLORGROUP/PRODUCT/COLOR_DESCRIPTION".$p];
    $sql_ModelGroups= "insert into ModelGroups set
			
			
		                          SKU= '".mysql_real_escape_string( $record["CLASS/SKU"])."',
					`key`= '".mysql_real_escape_string($key )."',
					color_code='".mysql_real_escape_string($color_code)."',
					color_code_description='".mysql_real_escape_string($color_code_description)."'
					";
				   mysql_query($sql_ModelGroups) or die(mysql_error());
				  
	
  }$i++;
} while($record["CLASS/COLORGROUP/PRODUCT/KEY".$p]);

Open in new window

0
Comment
Question by:danjen
  • 4
  • 3
7 Comments
 
LVL 109

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 24426754
See if this is what you had in mind.  Best regards, ~Ray
<?php // RAY_longest_common_substring.php
error_reporting(E_ALL); // THROWS A NOTICE IN THE FUNCTION
 
 
// TEST DATA FROM THE OP
$SKU = "abcdx";
$KEY = "123abcdy";
 
// FIND LONGEST COMMON STRING
$lcs = strlcs($KEY, $SKU);
var_dump($lcs);
 
// CREATE A QUERY, ETC...
$sql = "INSERT INTO ModelGroups SET lcs = \"$lcs\" WHERE sku = \"$SKU\"";
 
 
 
 
// FUNCTION FROM HERE: http://en.wikibooks.org/wiki/Algorithm_implementation/Strings/Longest_common_substring#PHP
function strlcs($str1, $str2)
{
   $m = strlen($str1);
   $n = strlen($str2);
   $L = array();
   $z = 0;
   $ret = "";
 
   for($i=0; $i<$m; $i++){
      $L[$i] = array();
      for($j=0; $j<$n; $j++){
         $L[$i][$j] = 0;
      }
   }
 
   for($i=0; $i<$m; $i++){
      for($j=0; $j<$n; $j++){
         if( $str1[$i] == $str2[$j] ){
            $L[$i][$j] = $L[$i-1][$j-1] + 1;
            if( $L[$i][$j] > $z ){
               $z = $L[$i][$j];
               $ret = "";
            }
            if( $L[$i][$j] == $z )
               $ret .= substr($str1, $i-$z+1, $z);
         }
      }
   }
   return $ret;
}

Open in new window

0
 

Author Comment

by:danjen
ID: 24427142
I get the following error.

Fatal error: Call to undefined function strlcs() in xml.php on line 119
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 24427209
That function is defined at line 20 in the code sample (tested and working) I just posted.  Please post the code that you used to get the error message.
0
Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

 

Author Comment

by:danjen
ID: 24427217
ok - maybe I don't understand. I thought the code at the bottom was just for reference. Which code listed should I use in the program?
0
 

Author Comment

by:danjen
ID: 24428329
I figured out the issue. Thank you so much for your help and for replying so quickly!!
0
 

Author Closing Comment

by:danjen
ID: 31583238
Thank you so much for your help!
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 24431558
Thanks for the points - it's a great question! ~Ray
0

Featured Post

Best Practices: Disaster Recovery Testing

Besides backup, any IT division should have a disaster recovery plan. You will find a few tips below relating to the development of such a plan and to what issues one should pay special attention in the course of backup planning.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Making API calls from hashed passwords 26 54
PHP and google maps 13 46
Change background color in td if any value is 1 9 14
parse url to form? 7 14
Introduction A frequently used term in Object-Oriented design is "SOLID" which is a mnemonic acronym that covers five principles of OO design.  These principles do not stand alone; there is interplay among them.  And they are not laws, merely princ…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

821 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question