// header require_once str_replace('//', '/', dirname(__FILE__) . '/') . 'header.php'; $connection = dctl_sql_connect(DCTL_DB_ICONCLASS); if ($connection) { // $name = ''; if (isset($_REQUEST['name'])) { $name = $_REQUEST['name']; } $id = ''; if (isset($_REQUEST['id'])) { $id = $_REQUEST['id']; } if ($name != '') { $nameX = my_strtoupper($name); $nameSoundex = my_soundex($nameX); echo "<h2>Ricerca per NOME: " . $name . " ({$nameX} - {$nameSoundex})</h2>"; $query = "SELECT * FROM tNAME WHERE tNAME.nameSoundex='{$nameSoundex}' OR tNAME.nameNormalized LIKE '%{$nameX}%' OR SUBSTRING(SOUNDEX(tNAME.nameNormalized), 1, 4) = SUBSTRING(SOUNDEX('" . $name . "'), 1, 4) ORDER BY tNAME.name"; } else { echo "<h2>Ricerca per KEY: {$id}</h2>"; $query = "SELECT * FROM tNAME WHERE tNAME.id='{$id}'"; } $result = mysql_query($query) or die("Error in query: {$query}. " . mysql_error()); if (mysql_num_rows($result) > 0) { echo '<table>'; echo '<tr>'; echo '<th>Soggetto</th>'; echo '<th>Key</th>'; echo '<th>Iconclass</th>'; echo '</tr>'; $prev = '';
function getRetrieverDB($doc, $what, $selector) { $returnText = ''; global $mysql_dbName; try { $mysql_dbName = dctl_sql_connect(DCTL_DB_NAME); } catch (Exception $e) { die('<div class="wctl_error">[DB] ' . $e . '</div>'); } $name = $what; $nameX = my_strtoupper($name); $nameSoundex = my_soundex($nameX); $query = "SELECT * FROM tNAME WHERE"; $byCode = preg_match('/^\\d{6}$/', $nameX); if ($byCode) { $query .= " tNAME.id = {$nameX} "; } else { $query .= " tNAME.nameNormalized LIKE '%{$nameX}%' "; if ($selector != '') { $query .= "AND tNAME.type='{$selector}' "; } } $query .= "ORDER BY tNAME.name"; $result = mysql_query($query, $mysql_dbName) or die("Error in query: {$query}. " . mysql_error()); $code = array(); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { if (intval($row['collector']) != 0) { $code[$row['collector']] = $row['collector']; } else { $code[$row['id']] = $row['id']; } } if (count($code) > 0) { $iter = -1; $query = "SELECT * FROM tNAME WHERE "; foreach ($code as $collector => $id) { ++$iter; if ($iter > 0) { $query .= "OR "; } $query .= "tNAME.id='{$collector}' "; } $query .= "ORDER BY tNAME.type, tNAME.name"; $result = mysql_query($query, $mysql_dbName) or die("Error in query: {$query}. " . mysql_error()); mysql_close($mysql_dbName); if (mysql_num_rows($result)) { $cachedKEY = ''; // load all KEYs to cache for next XSLT preloadKEY($doc, &$cachedKEY); if ($cachedKEY) { while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { $theKey = sprintf("%06s", $row['id']); if (stripos($cachedKEY, $theKey) !== false) { $returnText .= $row['name']; $returnText .= ' [' . $row['type'] . ']'; $returnText .= "|" . $theKey . "\n"; } } } } } return $returnText; }