PDA

View Full Version : سوال: جستجوی عبارت فارسی در بانک اطلاعاتی



parandweb
دوشنبه 10 تیر 1392, 23:57 عصر
با سلام

به کد زیر توجه کنید. کد زیر برای بخش جستجوی سایت من است:


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<form method="get" action="email.php">
<p>
<input type="text" name="q" size="20">
<input type="submit" value="Search">
</p>
</form>
<?php

if(!isset($_GET["q"]))
die("The Search key word is not set!");

$key = $_GET["q"];
if($key == "")
die("The Search key word must be entered!");
$DbConn = mysql_connect("localhost", "root", "mysql" ) or die(mysql_error());
mysql_select_db("test",$DbConn) or die("Can Not Select DataBase Because: ". mysql_error());
$sql = "SELECT * FROM `text` WHERE `title` LIKE '%".$key ."%';";


$SearchResult = mysql_query($sql) or die(mysql_error(). "SQL: ". $sql);

$TotalResults = mysql_num_rows($SearchResult);


if($TotalResults <= 0)
die("Not found any record for your key word!");

for($i = 0; $i != $TotalResults; $i++ )
{
//<!-- Start of Print Results...

$TextTitle = mysql_result($SearchResult, $i, 1);
$TextBody = mysql_result($SearchResult, $i, 2);
$id = mysql_result($SearchResult, $i, 0);

print($TextTitle ." ==> ". $TextBody ." ". $id ."<br /><br />");



//End of Print Results. -->
}

?>
<?php echo $TotalResults; ?>

این کد دو مشکل زیر را دارد:

1. عدم پشتیبانی از جستجوی کلمات فارسی در حالی که کلمات در بانک اطلاعاتی به فارسی ذخیره شده اند...

2. این کد همه نتایج را زیر هم بدون هیچ محدودیتی لیست می کند من میخوام در هر صفحه ده نتیجه را لیست کند ممنون می شم راهنماییم نمایید دوستان:قلب:

H:Shojaei
سه شنبه 11 تیر 1392, 00:07 صبح
تاپيك جديد مگه همون تاپيك چش بود كاربرا كه همون كاربران ديگه؟(بگذريم)
1:فكر كنم mysql_set_charset('utf-8'); رو بزنيد درست بشه.(شايد)
2:ميتونيد يه فلگ بذاريد كه هر وقت به 10 رسيد تو صفحه جديد(كه نميدونم چيه) ذخيره كنه و باز مقدارش صفر بشه يا بگيد هروقت $i باقيماندش بر 10 برابر صفر شد تو صفحه ي جديد ذخيره كنه اين ساده ترين راهه.

parandweb
سه شنبه 11 تیر 1392, 00:17 صبح
ممنون اما من از این:


mysql_set_charset('utf-8');

استفاده کردم و جواب نگرفتم.

منظورم از صفحه جدید این هستش.

من می خوام زمانی که مثلا عبارتی جستجو شد تعداد ده تا از نتیجه جستجو در این صفحه نوشته شود و گزینه های 1 2 3 4 و صفحه بعد یا قبل وجود داشته باشد برای مشاهده دیگر نتایج....

مثل سایت گوگل دیگه وقتی جستجو میشه یه عبارتی فقط ده تاش توی همون صفحه لیست میشه الباقی نتایج در صفحات دیگر هستش

hesam1323
سه شنبه 11 تیر 1392, 04:20 صبح
صفحه جدید رو به نظر من باید یه شمارنده بذاری و شرط بذاری مثلا اگه نتیجه ی جستجو بیشتر از 10 تا شد یه فایل تولید کنه و 10 تای بعدی رو تو صفحه دوم بذاره و لینکشم همونجا بذاری به همین ترتیب تا آخر.