Solved

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

Posted on 2009-05-19
7
369 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 108

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 108

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
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 

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 108

Expert Comment

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

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Suggested Solutions

If I have to fix slow responding website my first thoughts are server side optimizations: the database may not be optimized or caching is not enabled, or things like that. We often overlook another major part of our web application: the client. We o…
Developer tools in browsers have been around for a while, yet they are still heavily underused by developers. Developers still fix html or CSS then refresh page to see effect, or they put alert or debugger in JavaScript and then try again and again …
The viewer will learn how to count occurrences of each item in an array.
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

746 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now