السلام عليكم
قمت بعمل صفحة للبحث في قاعدة بيانات ولاكن المشكلة التي تواجهني انه اذا كتب الشخص أحمد لا يظهر له في النتائج احمد فمن يعلم الطريقة ارجو اخباري
السلام عليكم
قمت بعمل صفحة للبحث في قاعدة بيانات ولاكن المشكلة التي تواجهني انه اذا كتب الشخص أحمد لا يظهر له في النتائج احمد فمن يعلم الطريقة ارجو اخباري
__________________
إستخدم ملفك الخاص لكتابة توقيعك
إذا كان الفيلد صغيرا (اسم شخص مثلا) أضف إلى خواصه في قواعد البيانات نفسها أن يكون الفيلد من نوع:
binary
وإذا لم ترد أن تعدل قواعد البيانات فاستخدم الجملة التالية للبحث (بس ح تكون بطيئة مع العدد الكبير):
كود PHP:
$query = "select BINARY username from users where ....";
__________________
....
محمد حسام
انترنت بلس
استخدم LIKE operator بدل من =
__________________
نحن أمة إقرأ التي لا تقرأ
أخي مبرمج إنترنت .. استخدام Like لن يساعد عندما تكون الصفوف كثيرة .. لأنه كان ضمن المحاولات الأولى لي زمان .. وعندما وصل عدد المشتركين إلى 100 ألف خرفت الداتابيز ووصلت إلى طريقة Binary التي حلت المشاكل كلها ..
__________________
....
محمد حسام
انترنت بلس
اشكر إنترنت بلس و مبرمج إنترنت
بس ما نفعت معايا مدري ليه
الي صار بطريقة ال BINARY
اني اذا كنت اريد البحث عن "معرفة" يظهر لي "بمعرفة" او "ال" وعدم كتابتها
لاكن لا يظهر أ و ا - ه و ة
ارجوا المساعدة
__________________
إستخدم ملفك الخاص لكتابة توقيعك
معلش ياريت تكتب بالتفصيل الخطوات التي اتبعتها .. وكمان أوامر جلب النتيجة من قواعد البيانات ..
__________________
....
محمد حسام
انترنت بلس
هذا الكود في ملف php
كود PHP:
$q1 = "select * from devbg_products where BINARY ItemName LIKE '%$_GET[SearchTerm]%'
order by $_GET[ord1] $_GET[ord2] limit $Start, $ByPage";
وحطيت
ItemName = BINARY
في الداتا بيز
__________________
إستخدم ملفك الخاص لكتابة توقيعك
عذرا على التدخل
كود PHP:
$q1 = "select * from devbg_products where BINARY ItemName LIKE '%$_GET['SearchTerm']%'
order by $_GET[ord1],$_GET[ord2] limit $Start, $ByPage";
?????![]()
![]()
![]()
__________________
إستخدم ملفك الخاص لكتابة توقيعك
أخي في الكود الذي كتبته لك نسيت الفاصلة :
by $_GET[ord1],$_GET[ord2] limit $Start
استخدم RLIKE مع BINARY
سوف تجد هذه الكلماتكود:SELECT * FROM devbg_products WHERE ItemName RLIKE BINARY '[أإا]معرف[هة]'
http://www.swalif.net/softs/showthread.php?t=89010كود:ألمعرفة المعرفة ألمعرفه المعرفه
__________________
ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
الاتصال: daif@daif.net او جوال: 0556639884
الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .
شكرا daif
بس الي محتاجه مو كلمة وحدة انا ما اعرف ايش اللي حيكتبه الزائر يعني مثلا
اذا عندك حل انه
يطلع الحرف الأول ويشيك اذا "أ" او الحرف الاخير اذا "ه"
يقوم يغيرها بحرف ثاني
وبعدي ترجع للبحث
يعني اطلع او حرف من الكلمة واعطيه امر شرظ
if الحرف == أ
$متغير = ا + حمد
والمهم على هذا الحال
اذا احد عنده طريقه يقولي
واذا احد مو فاهم مني يقولي
انا عارف اني طفشتكم بس كل الحلول التي وردت في الرابط غير مجدية
امنياتي لكم بالتوفيق والنجاح
__________________
إستخدم ملفك الخاص لكتابة توقيعك
ارجو المشاركة لأن الموضوع لا يخصني وحدي اعتقد انه يخص الجميع
هذه بعض التجارب بتغير اي كلمة في هذا المثال استخدمت "احمد منفعه"
كود PHP:
<?
$name = "احمد منفعه";
$first = substr_replace($name, '', 1);
echo "$first";
if ( $first == "ا" ) {
echo"<br>";
echo substr_replace($name, 'أ', 0, 1) . "<br>\n";
}
$last = substr_replace($name, '', 0, -1);
echo "$last";
if ( $last== "ه" ) {
echo"<br>";
echo substr_replace($name, 'ة', -1, 1) . "<br>\n";
}
?>
ثم اجعل البحث على المتغير
الاصلي = " احمد منفعة "
$first = " أحمد منفعه"
$last = "احمد منفعة"
المهم هذه الفكرة الي عندي
ارجو من لديه حل اسهل يخبرني
والذي عنده داله للreplace يخبرني
__________________
إستخدم ملفك الخاص لكتابة توقيعك