Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Cautare in baza de date Mysql
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
mikitu



Data înscrierii: 24/Feb/2003
Mesaje: 9
Locație: bucuresti

Trimis: Lun Feb 24, 2003 11:14 am    Titlul subiectului: Cautare in baza de date Mysql  

Salut!
Incerc sa fac un script care sa caute un cuvant intr-o tabela MySql ce contine un camp de tip text si sa-l afiseze diferit fata de celelalte cuvinte din acel text. Rezultatele trebuie sa contina acel cuvant sau acel cuvat articulat, nearticulat, feminin, masculuin plural, ... (asemanari fonetice).
Baza de date este foarte mare si as dori sa aflu daca se poate face acest lucru in principal din MySql.
Multumesc.
Sus  
mikitu



Data înscrierii: 24/Feb/2003
Mesaje: 9
Locație: bucuresti

Trimis: Mar Feb 25, 2003 11:31 am    Titlul subiectului: am facut un cod dar nu face cautarea dupa asemanari fonetice  

Cod:

if(!isset($ob) || $ob=='d') $order="online_date";
else $order="title";
if(!isset($s) || $s=='d') $ascdesc="desc";
else $ascdesc="asc";
if($caut==1)
{
$cuvant=$search;
$cuvant=trim($cuvant);
$cuvant_initial = ereg_replace (" ", "+", $search);

if ($cuvant=="") $cuvant="7rtrd5ds6ds6x";
   $cuvant         = strtolower ($cuvant);
   $cuvant         = ereg_replace ("," , " " , $cuvant);
   $cuvant         = ereg_replace ("_" , " " , $cuvant);
   $cuvant         = ereg_replace ("-" , " " , $cuvant);
   $cuvant         = ereg_replace ("=" , " " , $cuvant);
   $cuvant         = ereg_replace ("&" , " " , $cuvant);
   $cuvant         = ereg_replace ("\+" , " " , $cuvant);
   $cuvant         = ereg_replace ("[ ]+" , " " , $cuvant);
$i = strlen ($cuvant);
$search_arr=split(" ",$cuvant);
$q="select  * from table where (status=1 or status=3)  and ( ";
$cuvinte=array("pentru","de","la","in","dupa","cum","dar","iar","pe","chiar","si","ce","lui");
while(list($k,$v)=each($search_arr))
   {
      if( in_array(strtolower($v),$cuvinte) || strlen($v)==1) continue;
   $cuv=$v;
   $cuv1=strtoupper($v);
   $cuv2=strtolower($v);
   $cuv3=ucfirst($v);
   $q.="cuv_cheie   regexp '(^|[^a-zA-Z])$cuv2([^a-zA-Z]|$)' OR ";
   }
   $nq=strlen($q);
   $q=substr($q,0,$nq-3);
   $q.=" ) and online_date not like '%0000-00-00%' order by $order $ascdesc";
   
$res=mysql_query($q) or die(mysql_error());
$gasite=mysql_num_rows($res);
}
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community