I am not sure if I should be using similar_text for this or levenshtein but the problem i have is I am using three tables to get some information and in one of the tables the player names sometimes differ.
IE --> Dave or David and Matt or Matthew
now because this differs some of the info is not being grabbed because the name doesn't match. This would be easier if it had the playerid like the other 2 tables.
I am very inexperienced with similar text and levenshtein.
Here is the main part of my code for this
//get all players from team and their profile
$query = "select distinct p.*,r.* from profile p,regular r where r.team ='$team_name' and r.playerid=p.id and r.season = '2013-14'";
$myresult = mysql_query($query) or die(mysql_error());
$parray = array();
while($myrow = mysql_fetch_assoc($myresult) ){
if(in_array($myrow['playerid'],$parray) ) continue;
$parray[] = $myrow['playerid'];
$player_pos='';
$player_num='';
$player_name = $myrow['name'];
$reverse_name = explode(' ', $player_name);
$count = count($reverse_name);
if ($count == 3) {
$fname = mysql_real_escape_string($reverse_name[0]);
$lname1 = mysql_real_escape_string($reverse_name[1]);
$lname2 = mysql_real_escape_string($reverse_name[2]); $lname = $lname1.' '. $lname2;
} else {
$fname = $reverse_name[0];
$lname = mysql_real_escape_string($reverse_name[1]);
}
$pname = stripslashes($lname.', '. $fname);
$result = mysql_query("SELECT * FROM `nhl_player` WHERE `name` = '".mysql_escape_string($pname)."' ") or print(mysql_error());
while ($row = mysql_fetch_assoc($result)){
$player_pos = str_replace('/','',$row['position']);
$player_num = $row['number'];
}
$bdate = $myrow['birthdate'];
$birthDate1 = date('m/d/Y', strtotime($bdate ));
$birthDate = explode("/", $birthDate1);
$age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md")
? ((date("Y") - $birthDate[2]) - 1)
: (date("Y") - $birthDate[2]));
if($myrow['position'] =='Goalie'){
$goalie_table_array2[] = array($player_num, $player_pos, "<a href=\"http://www.theufhl.com/nhl/players/?pid=" . $myrow['playerid'] . "\">$player_name</a>", $myrow['height'], $myrow['weight'], $myrow['birthdate'], $age,
$myrow['birthcity'].', '. $myrow['country']);
}
elseif($myrow['position'] =='Forward'){
$mytable_array[] = array($player_num, $player_pos, "<a href=\"http://www.theufhl.com/nhl/players/?pid=" . $myrow['playerid'] . "\">$player_name</a>", $myrow['height'], $myrow['weight'], $myrow['birthdate'], $age,
$myrow['birthcity'].', '. $myrow['country']);
}
else{
$mytable_array2[] = array($player_num, $player_pos, "<a href=\"http://www.theufhl.com/nhl/players/?pid=" . $myrow['playerid'] . "\">$player_name</a>", $myrow['height'], $myrow['weight'], $myrow['birthdate'], $age,
$myrow['birthcity'].', '. $myrow['country']);
}
}
is this what i should be looking at adding in or something similar.. i am going to keep trying while i get a response
$all_players = mysql_query("SELECT * FROM `nhl_player` ");
while ($player = mysql_fetch_assoc($all_players)) {
similar_text($player['name'], $pname, $percentage);
if ($percentage >= 85) {
$player_row = $player;
break;
}