merhaba bölümdaş,
Türkçe karakterler biraz uğraştırıyor sadece. Tablo yapını bilmiyorum fakat performans sıkıntısı yoksa şöyle bir
function strtoupperx($str,$a){
$_trSpec = array(
'Ç' => 'ç',
'Ğ' => 'ğ',
'İ' => 'ı',
'İ'=>'i',
'Ö' => 'ö',
'Ş' => 'ş',
'Ü' => 'ü');
$enChars = array_keys($_trSpec);
$trChars = array_values($_trSpec);
if($a == "x") $str = str_replace($trChars, $enChars,$str); else $str = str_replace( $enChars,$trChars,$str);
return $str;
}fonksiyonu where sorgusunda kullanabilirsin. 2 yeni where koşulu daha eklenir her stun için.
Yine de
http://dev.mysql.com/doc/refman/5.1/...xt-search.html şuradan fulltext search'e bakmanı öneririm.
$stunlar[] = "firma";
$stunlar[] = "fatura";
$stunlar[] = "marka";
$stunlar[] ="baskastun";
$uzunwhere = "";
foreach($stunlar as $s=>$a) {
$uzunwhere . = " or `$a` like '%".strtoupperx($_POST['kelime'],"x")."%'
or `$a` like '%".strtoupperx($_POST['kelime'],"y")."%'
or `$a` like '%".$_POST['kelime']."%' ;
}
$veri = mysql_query("select * from faturalar where 1=2 $uzunwhere");gibi algoritmayla dizdirip sorgulattırabilirsin. denemedim ama mevzuyu anlatabilmişmdir sanırım.
Dediğim gibi tablo kalabalık ve işlem hit alan bir işlemse fulltext search daha optimize olur.
kolay gelsin
Merhaba arkadaşlar;
Üzerinde çalıştığım bir proje var. Bu proje aşağıdaki sorunum haricinde bitti sayılır.
Sorunum şu ki ; Mysql de arama yaparken büyük küçük harfe duyarlı olarak arama yapıyor.
Yani "Kelime" ile arama yaptırdığımda sadece "Kelime" olan sonuçlar çıkıyor. Ama ben "kelime" , "KeLiMe" , "KELime" geçenleri de sonuca dahil etmesini istiyorum.
Bu sorunu nasıl aşabilirim ?
Yardımcı olanlara şimdiden teşekkürler.
Aşağıda kodları veriyorum.
baglan.php
<?php
$baglanti = @mysql_connect('localhost', 'root', '');
$veritabani = @mysql_select_db('kupur');
if($baglanti && $veritabani) {
} else {
echo 'Bağlantı kurulamadı.';
}
?>aramasonuclari.php
<?php
include("baglan.php");
include("fonksiyonlar.php");
$Git = $_GET["Git"];
$kelime = $_POST["kelime"];
$veri = mysql_query("select * from faturalar where firmaadi like '%$kelime%' or faturadetayi like '%$kelime%' or marka like '%$kelime%' or faturano like '%$kelime%' or maladedi like '%$kelime%' or malincinsi like '%$kelime%' or organizasyon like '%$kelime%'");
$sayi=mysql_num_rows($veri);
if($sayi<1){
echo "<td>Bulunamadı!</td>";}
else{
while($uye = mysql_fetch_array($veri)) {
echo $uye['firmaadi'];
}}
?>veritabanı yapısı

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:39:19 -->-> Daha önceki mesaj 13:04:31 --
konu hakkında bilgisi olan arkadaş yok mu acaba ?