PDA

View Full Version : search در php



neda_barnamenevis
سه شنبه 24 بهمن 1385, 16:31 عصر
سلام من اگر یک برنامه search بخواهم میشه یک آدرس بهم بدین تا پیداش بکنم.
اگه می شه یک برنامه ای باشه که کلمات عربی و فارسی را هم تشخیص بدهد
ممنون

Milad
سه شنبه 24 بهمن 1385, 18:14 عصر
سرچ توی چی ؟
این رو ببین :
www.phpdig.net

neda_barnamenevis
چهارشنبه 25 بهمن 1385, 07:49 صبح
سلام
serach با یک پایگاه داده مثلا نام طرف را می دهیم مشخصات آن رابدهد.البته نام فارسی می هیم و با رعایت عربی و فارسی کلمات مثل(ی) و (ک)
ممنون می شم جوابما بدین چون خیلی کارو گیره ممنون

ArtCom
چهارشنبه 25 بهمن 1385, 08:12 صبح
سلام آخه برای نوشت search فقط کافیه یه query بنویسی بعد نتیجه رو توی یه جدول نشون بدی. مثلا:


$result=mysql_query("select * from table where name='aaa';")
while($line=mysql_fetch_assoc($result))
print_r($line);
البته این ساده ترین راهشه که میتونه خیلی هم بهتر و دقیق تر عمل کنه

neda_barnamenevis
چهارشنبه 25 بهمن 1385, 08:30 صبح
بعد برای تشخیص تمام کلمات فارس و عربی مثلا برای (ی)باید این خط برنامه را بنویسم
sql_query = ereg_replace(' ',i',$mysql_query) my &

و در کوتیشن اولی (ی) بنویسم؟
مشکل من اینه که یعنی می گه به جای حرف ی i بگذار؟؟؟؟

Milad
چهارشنبه 25 بهمن 1385, 10:25 صبح
بعد برای تشخیص تمام کلمات فارس و عربی مثلا برای (ی)باید این خط برنامه را بنویسم
sql_query = ereg_replace(' ',i',$mysql_query) my &

و در کوتیشن اولی (ی) بنویسم؟
مشکل من اینه که یعنی می گه به جای حرف ی i بگذار؟؟؟؟
کی می گه ؟

neda_barnamenevis
چهارشنبه 25 بهمن 1385, 11:44 صبح
کی می گه ؟

پس باید چه کار کنم؟؟؟؟

Milad
چهارشنبه 25 بهمن 1385, 12:51 عصر
مشکل من اینه که یعنی می گه به جای حرف ی i بگذار؟؟؟؟

گفتی می گه
خیال کردم کسی گفته
:D

خب آره دیگه باید همینکار ها رو بکنی دیگه
وقتی داری توی دیتابیس هم ذخیره می کنی باید حواست(هواس ؟) باشه این کار رو بکنی
اگر راه دیگه ای هم داشته باشه من بلد نیستم !

neda_barnamenevis
چهارشنبه 25 بهمن 1385, 13:04 عصر
مشکل من اینه که یعنی می گه به جای حرف ی i بگذار؟؟؟؟


!
پس چی بنویسم به جای (ی) و (ک) چی بنویسم
که وقتی یکی عربی و فارسی بنویسه من بتونم توی searchپیداش کنم

ArtCom
پنج شنبه 26 بهمن 1385, 07:44 صبح
سلام به نظر من بهترین راه کنترل اطلاعات هنگام ذخیره کردن و جستجو هست شما کافیه هر داده رو که کاربران وارد میکنن قبل از ذخیره کردن کنترل کنی و اگر مثلا حرف ی یا ک داره اونو جایگزین کنی .
در واقع شما باید یه تابع داشته باشی که کار کنترل داده ها و در صورت لزوم اعمال تغییرات لازم رو انجام بده.
در این صورت فرقی نمیکنه کاربر فارسی زده یا عربی همیشه اطلاعات فارسی ذخیره و جستجو میشه.

موفق باشید

moohssenn
پنج شنبه 26 بهمن 1385, 20:14 عصر
یه تابع توی نیوک هست که موقع ذخیره کردن اگه از اون استفاده کنی تو جستجو مشکلاتت کمتر میشه
اینم تابع :


function GetConfirmPersianText($Text)
{
$Text.=' ';
$puncs=explode('i'," ii\ni\ri i-i&iexcl;i,i;i`i)i(i}i{i]i[i<i>i?i!i/i\i\i&ordm;i«i»i&iquest;i|i~i@i#i$i%i^i&i*i\"i:");
$Text=str_replace('&igrave;','&iacute;',$Text);
$Text=str_replace('ی','&iacute;',$Text);
foreach ($puncs as $punc){
$Text=str_replace('&iacute;'.$punc,'&igrave;'.$punc,$Text);
$Text=str_replace('˜'.$punc,'&szlig;'.$punc,$Text);
//$Text=str_replace('&szlig;'.$punc,'˜'.$punc,$Text);
$Text=str_replace('ی'.$punc,'&igrave;'.$punc,$Text);
}
$Text=str_replace('ﻱ ','&igrave; ',$Text);
$Text=str_replace('ﻲ ','&igrave; ',$Text);
$Text=str_replace('\"','"',$Text);
$Text=substr($Text, 0, -1);
return $Text;
}


البته وقتی میخوای کلمه ای را هم سرچ کنید اول به این تابع بدهید و بعد خروجی را جستجو کنید

Ehsan_php
جمعه 27 بهمن 1385, 06:47 صبح
سلام

میشه بگید به جای ی و ک چه حروفی را باید جایگذاری کنم تا توی جستجو مشکل پیدا نکنم؟؟

ممنون

moohssenn
جمعه 27 بهمن 1385, 18:19 عصر
هیچی نمیخاد جایگذاری کنید هم موقع ذخیره متن مورد نظر را به این تابع بدهید و خروجی را ذخیره کنید و موقع جستجو هم همینطور

neda_barnamenevis
شنبه 28 بهمن 1385, 08:14 صبح
سلام به نظر من بهترین راه کنترل اطلاعات هنگام ذخیره کردن و جستجو هست شما کافیه هر داده رو که کاربران وارد میکنن قبل از ذخیره کردن کنترل کنی و اگر مثلا حرف ی یا ک داره اونو جایگزین کنی .
در واقع شما باید یه تابع داشته باشی که کار کنترل داده ها و در صورت لزوم اعمال تغییرات لازم رو انجام بده.



با عرض تشکر می خواستم بدونم حرف ی و ک را با چی جایگزین کنم می شه تابعش را برای بنویسی
ممنون