Salve a tutti,
questo script che posterò è un motore di ricerca su query di un database, io lo editato al fine di usarlo come tracking di ordini commerciali per un mio sito web.
Il problema è che quando nel form metto ad. esempio il numero ordine "1" mi trova l'ordine es. "4837190", mentre io vorrei che se digita il numero 1 deve trovare esclusivamente l'ordine numero 1....
CODICE SORGENTE:
file class.search.php:
Grazie mille!
questo script che posterò è un motore di ricerca su query di un database, io lo editato al fine di usarlo come tracking di ordini commerciali per un mio sito web.
Il problema è che quando nel form metto ad. esempio il numero ordine "1" mi trova l'ordine es. "4837190", mentre io vorrei che se digita il numero 1 deve trovare esclusivamente l'ordine numero 1....
CODICE SORGENTE:
file class.search.php:
Codice:
<?php
class search_engine
{
function search_engine($mysql)
{
# set database connection
$this->host = $mysql[0];
$this->username = $mysql[1];
$this->password = $mysql[2];
$this->database = $mysql[3];
$this->link = mysql_connect($this->host,$this->username,$this->password) or die(mysql_error());
$this->db_selected = mysql_select_db($this->database,$this->link) or die(mysql_error());
$this->found = array();
}
function set_table($table)
{
# set table
$this->table = $table;
}
function set_keyword($keyword)
{
# set keywords
$this->keyword = explode(" ", $keyword);
}
function set_primarykey($key)
{
# set primary key
$this->key = $key;
}
function set_fields($field)
{
# set fieldnames to search
$this->field =$field;
}
function set_dump()
{
# var dump objects
echo '<pre>';
var_dump($this->found);
echo '</pre>';
}
function set_total()
{
# total results found
return sizeof($this->found);
}
function set_result()
{
# find occurence of inputted keywords
$key = $this->key;
for ($n=0; $n<sizeof($this->field); $n++)
{
for($i =0; $i<sizeof($this->keyword); $i++)
{
$pattern = trim($this->keyword[$i]);
$sql = "SELECT * FROM ".$this->table." WHERE `".$this->field[$n]."` LIKE '%".$pattern."%'";
$result = mysql_query($sql);
while ($row = mysql_fetch_object($result) AND !empty($pattern))
{
$this->found[] = $row->$key;
}
}
}
$this->found = array_unique($this->found);
return $this->found;
}
}
?>
Grazie mille!