pedia-learning

ورود

گذرواژه‌تان را فراموش کرده‌اید؟

ثبت نام

ثبت نام
انجمن عمومی گسترش فناوری آگو

اگر اولین بار از انجمن بازدید می کنید برای دسترسی کامل به انجمن عضو شوید بعد عضویت قادر به ارسال مطلب و شرکت در بحث خواهید داشت

ارسال پاسخ 
 
امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ساخت یک موتور جستجو
02-03-2013, 03:40 PM
ارسال: #1
ساخت یک موتور جستجو
ساخت یک موتور جستو جو گر سریع و کارآمد یکی از دق دقه های یک برنامه نویسه ، من حتی قبل از اینکه یک پروژه رو شروع کنم روس سرچ فکر می کنم . .. امروز یک کلاس بسازیم که به سریع ترین وجه ممکن و به بهترین نحوه به ما جواب مورد نظرمون رو بده ، از همه مهم تر اصولی باشه و قابل ارتقاع و سفارشی باشه ..

class.search.php

کد php:
<?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;
    }
}
?>

process.php

کد php:
<?php
 
require_once 'class.search.php';
 
$config = array('localhost','root','','database');
$table 'bizmain';
$key 'biz_id';
$fields = array('biz_name','biz_address','biz_cat');
 
$keyword $_POST['keyword'].' '.$_POST['location'];
 
$found = new search_engine($config);
$found->set_table($table);
$found->set_primarykey($key);
$found->set_keyword($keyword);
$found->set_fields($fields);
 
$result $found->set_result();
print_r($result);
 
?>

form.php

کد php:
<form method=post action=process.php>
<
table border=1>
<
tr>
    <
td>Search by namecategory or keywords</td>
    <
td><input  name=keyword></td>
</
tr>
    <
td>&nbsp;</td>
    <
td><input type=submit value=Submit></td>
</
table>
</
form

sql

کد php:
CREATE TABLE `bizmain` (
  `
biz_idmediumint(8unsigned NOT NULL auto_increment,
  `
biz_namevarchar(100) default NULL,
  `
biz_addressvarchar(255) default NULL,
  `
biz_phonevarchar(100) default NULL,
  `
biz_emailvarchar(100) default NULL,
  `
biz_urlvarchar(100) default NULL,
  `
biz_catvarchar(100) default NULL,
  
PRIMARY KEY  (`biz_id`)
) ;
 
INSERT INTO `bizmain` (`biz_id`, `biz_name`, `biz_address`, `biz_phone`, `biz_email`, `biz_url`, `biz_cat`) VALUES (1'LocalFilipino.com''Makati, Philippines''(632) 848-0886''info@localfilipino.com''http://www.localfilipino.com''Advertising'),
(
2'Liberty Realty''2451 S. Buffalo Drive, Suite 145, Las Vegas, NV 89117''(702) 248-8899''info@libertyrealty.com''http://www.libertyrealty.com''Real Estate, Realty'),
(
3'FRS Philippine Freight''5960 Spring Mtn Rd, 3-D Las Vegas, NV 89146''(702) 253-7555''info@frsphilippines.com''http://www.frsphilippines 
نقل قول این ارسال در یک پاسخ
ارسال پاسخ 


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان


Persian Translation by MyBBIran.com - Ver: 4.1
Powered by MyBB, © 2002-2024 MyBB Group.
Theme designed by Marvel (Sidebar created by Yaldaram - Yaldaram.com)
Theme Translation by Mt Edition