PDA

View Full Version : مشکل نتیجه جستجو در php



hemathemat
یک شنبه 26 مهر 1394, 10:13 صبح
با سلام

من ابتدا یک دیتابیس در mysql ایجاد کردم(utf-8) و بعد برنامه رو نوشتم که از یک فایل csv اطلاعات رو بخونه و در این دیتابیس بریزه



echo $type;

if($type=='text/comma-separated-values')
{ // if type
$fop=fopen($filename,"r");
while(($file=fgetcsv($fop,1000,";"))!==false)
{
$shd1=$file[0];
$name1=trim($file[1]);

$family1=trim($file[2]);

$reshteh1=trim($file[3]);

$shsh1=$file[4];
$sql=mysql_query("insert into vori(shd,name,family,reshteh,shsh,tarikhv) values('".$shd1."','".$name1."','".$family1."','".$reshteh1."','".$shsh1."','".$barchasb."') ");

$sql2=mysql_query("insert into vramz(shd,shsh) values('".$file[0]."','".$file[4]."') ");

echo $shd1;
}


} // end if type

} //end if isset


?>



<form action="emtehanexel.php" method="post" name="frmcsv" enctype="multipart/form-data">
<input type="file" name="csv" />
<input type="submit" name="submit" value="ارسال اطلاعات" />
</form>



</body>
</html>


بعد کدی نوشتم برای جستجو که در این کد بر اساس رشته دانشجو جستجو میکنه.csv رو هم utf8 کردم





<?php
session_start();
include "conect.php";
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="css/mainos.css" type="text/css" media="screen" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body class="bo">
<div id="div1">
<img src="images/logo.png" style="height:250;width:97%;margin:10px" >
</div>
<table width="400" border="1" align="center" style="border-style:none" cellpadding="4" cellspacing="0">
<tr>
<td bgcolor="#FFFF66">name</td>
<td bgcolor="#FFFF33">famil</td>
<td bgcolor="#FFFF33">cod ostad</td>
</tr>
<?php
$rsh='';
//mysql_query('SET NAMES utf8');
$gg=$_SESSION['in'];


$w1=mysql_query("select * from vorodi where shd=$gg ");
$w11=mysql_fetch_assoc($w1);
$rsh=$w11['reshteh'];

$sq=mysql_query("select * from ramzos where ramzos.reshteh='$rsh' ");
$sq1=mysql_query("select * from ramzos where ramzos.reshteh='$rsh'");
$bego=mysql_fetch_assoc($sq1);
echo $bego['family'];
echo strlen($rsh);
while ($os1=mysql_fetch_assoc($sq))
{

echo '<tr>

<td>'.$os1['name'].'</td>
<td>'.$os1['family'].'</td>
<td>'.$os1['code'].'</td>

</tr>';
}
?>

</table>
</body>
</html>


بعد از این با اجرای برنامه در جستجو برای رشته عمران یا برق مشکلی نیست و جستجو درست انجام میشه و نتیجه درسته ولی برای رشته صنایع یا کامپیوتر یا مکانیک نتیجه نمیده

با جستجویی که کردم فکر کنم مشکل حروف عربی هست ولی هر تابعی هم که استفاده کردم برای تبدیل ی و ک جواب نداد

در ضمن دیتابیس رو هم به این صورت باز میکنم



<?php

$link=mysql_connect('.',"","");

mysql_set_charset('utf8',$link);

mysql_select_db("");


mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET utf8");

?>

H:Shojaei
یک شنبه 26 مهر 1394, 12:14 عصر
کاراکتر های خواص رو به شکل های دیگه هم بسازید داخل کلمه ها یعنی مثلا کامپیوتر رو هم با ی هم با اون ی دیگه که من ندارم داخل کوئری قرار بدین و کوئری رو اجرا کنید...
البته شاید راه دیگه هم باشه این راه به ذهن من رسید...