Solved

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

Posted on 2009-05-19
7
411 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
7 Comments
 
LVL 110

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 110

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
Three Considerations for Containers

Containers like Docker and Rocket are getting more popular every day. In my conversations with customers, they consistently ask what containers are and how they can use them in their environment. If you’re as curious as most people, read our article on Experts Exchange.

 

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 110

Expert Comment

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

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
What is Node.js? Node.js is a server side scripting language much like PHP or ASP but is used to implement the complete package of HTTP webserver and application framework. The difference is that Node.js’s execution engine is asynchronous and event…
This video teaches users how to migrate an existing Wordpress website to a new domain.
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to selectively show certain fields based on user input using rules to gather relevant information and data from your forms. The rules feature provides you with an opportunity…

623 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