Ух, у меня сегодня много вопросов ...
Поэтому мне удалось немного исправить код, который я использовал для алгоритма сравнения Пола Батлера. Однако, хотя, похоже, нет проблемы с самим кодом, он не сравнивает два текстовых значения, которые я хочу сравнить с базой данных. Мне было интересно, была ли конкретная причина для этого? Или, может быть, это связано с тем, что все это в таблице? Не уверен, но в любом случае, там просто пустое место ...
Кроме того, при размещении кода с различными значениями для $ old и $ new теперь он говорит:
Неустранимая ошибка: невозможно переопределить diff () (ранее объявлено в /home/equinox/public_html/admins/profile-tool_elizabeth.php:125) в /home/equinox/public_html/admins/profile-tool_elizabeth9ph.pl
Я не знаю, почему это так ... строка 125 - это первая "функция diff", а 169 - это "функция diff" для следующих двух значений, которые я хочу сравнить. Не уверен, что там происходит ...
вот в основном весь код:
<?php
session_start();
while ($nSELECT = mysql_fetch_object($SELECT)) {
echo "
<tr bgcolor=\"#000000\">
<td><a href=\"$PHP_SELF?id=" . $nSELECT->userid . "\">" . getName($nSELECT->userid) . "</a></td>
</tr>
";
}
}
echo "</table><p>";
} elseif (empty($_GET['s']) && !empty($_GET['id'])) {
$SELECT = mysql_query("SELECT * FROM profile_edit WHERE userid = '$id'") or die(mysql_error());
$SELECT = mysql_fetch_object($SELECT);
$USERINFO = mysql_query("SELECT * FROM members WHERE id = '$id'") or die(mysql_error());
$USERINFO = mysql_fetch_object($USERINFO);
$oldhistory = mysql_query("SELECT history FROM members WHERE id = '$id'") or die(mysql_error());
$oldhistory = mysql_fetch_object($oldhistory);
$newhistory = mysql_query("SELECT history FROM profile_edit WHERE userid = '$id'") or die(mysql_error());
$newhistory = mysql_fetch_object($newhistory);
$OLDPERSONALITY = mysql_query("SELECT personality FROM members WHERE id = '$id'") or die(mysql_error());
$OLDPERSONALITY = mysql_fetch_object($OLDPERSONALITY);
$NEWPERSONALITY = mysql_query("SELECT personality FROM profile_edit WHERE userid = '$id'") or die(mysql_error());
$NEWPERSONALITY = mysql_fetch_object($NEWPERSONALITY);
$OLDAPPEARANCE = mysql_query("SELECT description FROM members WHERE id = '$id'") or die(mysql_error());
$OLDAPPEARANCE = mysql_fetch_object($OLDAPPEARANCE);
$NEWAPPEARANCE = mysql_query("SELECT personality FROM profile_edit WHERE userid = '$id'") or die(mysql_error());
$NEWAPPEARANCE = mysql_fetch_object($NEWAPPEARANCE);
echo "
<form action=\"$PHP_SELF?id=$id&s=a\" method=\"post\">
<table cellpadding=\"5\" cellspacing=\"1\" border=\"0\" align=\"center\" bgcolor=\"#234904\">
<tr bgcolor=\"#000000\">
<td>Username :: </td>
<td><a href=\"/profile.php?id=".$SELECT->userid."\" target=\"_blank\">" . getName($SELECT->userid) ."</a> (Click to see current profile in new window)</td>
<tr bgcolor=\"#000000\">
<td>Species :: </td>
<td>" . $USERINFO->species2 ." -> ". $USERINFO->subspecies ." (". $USERINFO->clan .")</td>
<tr bgcolor=\"#000000\">
<td>History :: </td>
<td>
";
function diff($oldhistory, $newhistory){
foreach($oldhistory as $oindex => $ovalue){
$nkeys = array_keys($newhistory, $ovalue);
foreach($nkeys as $nindex){
$matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1]) ?
$matrix[$oindex - 1][$nindex - 1] + 1 : 1;
if($matrix[$oindex][$nindex] > $maxlen){
$maxlen = $matrix[$oindex][$nindex];
$omax = $oindex + 1 - $maxlen;
$nmax = $nindex + 1 - $maxlen;
}
}
}
if($maxlen == 0) return array(array('d'=>$oldhistory, 'i'=>$newhistory));
return array_merge(
diff(array_slice($oldhistory, 0, $omax), array_slice($newhistory, 0, $nmax)),
array_slice($newhistory, $nmax, $maxlen),
diff(array_slice($oldhistory, $omax + $maxlen), array_slice($newhistory, $nmax + $maxlen)));
}
function htmlDiff($oldhistory, $newhistory){
$diff = diff(explode(' ', $oldhistory), explode(' ', $newhistory));
foreach($diff as $k){
if(is_array($k))
$ret .= (!empty($k['d'])?"<del>".implode(' ',$k['d'])."</del> ":'').
(!empty($k['i'])?"<ins>".implode(' ',$k['i'])."</ins> ":'');
else $ret .= $k . ' ';
}
return $ret;
}
echo "</td>
</tr>
<tr bgcolor=\"#000000\">
<td>Description :: </td>
<td>";
function diff($oldappearance, $newappearance){
foreach($oldappearance as $oindex => $ovalue){
$nkeys = array_keys($newappearance, $ovalue);
foreach($nkeys as $nindex){
$matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1]) ?
$matrix[$oindex - 1][$nindex - 1] + 1 : 1;
if($matrix[$oindex][$nindex] > $maxlen){
$maxlen = $matrix[$oindex][$nindex];
$omax = $oindex + 1 - $maxlen;
$nmax = $nindex + 1 - $maxlen;
}
}
}
if($maxlen == 0) return array(array('d'=>$oldappearance, 'i'=>$newappearance));
return array_merge(
diff(array_slice($oldappearance, 0, $omax), array_slice($newappearance, 0, $nmax)),
array_slice($newappearance, $nmax, $maxlen),
diff(array_slice($oldappearance, $omax + $maxlen), array_slice($newappearance, $nmax + $maxlen)));
}
function htmlDiff($oldappearance, $newappearance){
$diff = diff(explode(' ', $oldappearance), explode(' ', $newappearance));
foreach($diff as $k){
if(is_array($k))
$ret .= (!empty($k['d'])?"<del>".implode(' ',$k['d'])."</del> ":'').
(!empty($k['i'])?"<ins>".implode(' ',$k['i'])."</ins> ":'');
else $ret .= $k . ' ';
}
return $ret;
}
echo "</td>
</tr>
<tr bgcolor=\"#000000\">
<td>Description :: </td>
<td>";
function diff($oldappearance, $newappearance){
foreach($oldappearance as $oindex => $ovalue){
$nkeys = array_keys($newappearance, $ovalue);
foreach($nkeys as $nindex){
$matrix[$oindex][$nindex] = isset($matrix[$oindex - 1][$nindex - 1]) ?
$matrix[$oindex - 1][$nindex - 1] + 1 : 1;
if($matrix[$oindex][$nindex] > $maxlen){
$maxlen = $matrix[$oindex][$nindex];
$omax = $oindex + 1 - $maxlen;
$nmax = $nindex + 1 - $maxlen;
}
}
}
if($maxlen == 0) return array(array('d'=>$oldappearance, 'i'=>$newappearance));
return array_merge(
diff(array_slice($oldappearance, 0, $omax), array_slice($newappearance, 0, $nmax)),
array_slice($newappearance, $nmax, $maxlen),
diff(array_slice($oldappearance, $omax + $maxlen), array_slice($newappearance, $nmax + $maxlen)));
}
function htmlDiff($oldappearance, $newappearance){
$diff = diff(explode(' ', $oldappearance), explode(' ', $newappearance));
foreach($diff as $k){
if(is_array($k))
$ret .= (!empty($k['d'])?"<del>".implode(' ',$k['d'])."</del> ":'').
(!empty($k['i'])?"<ins>".implode(' ',$k['i'])."</ins> ":'');
else $ret .= $k . ' ';
}
return $ret;
}
echo "</td>
</tr>
<tr bgcolor=\"#000000\">
<td colspan=\"2\" style=\"text-align: center\"><input type=\"submit\" value=\"Accept\"></td>
</tr>
</table>
</form>
<p><br>
<form action=\"$PHP_SELF?id=$id&s=d\" method=\"post\">
<table cellpadding=\"5\" cellspacing=\"1\" border=\"0\" align=\"center\" bgcolor=\"#234904\">
<tr bgcolor=\"#000000\">
<td>Reason :: </td>
<td><textarea name=\"reason\" rows=\"6\" cols=\"30\"></textarea></td>
</tr>
<tr bgcolor=\"#000000\">
<td colspan=\"2\" style=\"text-align: center\"><input type=\"submit\" value=\"Deny\"></td>
</tr>
</table>
</form>
";
}
incFooter();
?>