سلام دوستان اول بگم که بنده مبتدی هستم و برای طراحی یک ربات ساده با php به مشکل خوردم و نیاز به راهنمایی شما عزیزان دارم
بنده به یک کد جستجوی ساده نیاز دارم که در دیتابیس جستجو کنه و اولین و نزدیک ترین پاسخ یا همان رکورد مشابه را برای ما چاپ کند و مابقی رکورد ها رو چاپ نکنه
برای اطلاع بیشتر بنده کد جستجوی خود را در زیر قرار میدم و مشکل آن این هست که تمام فیلد های مشابه را هم چاپ میکنه لطفاً بنده را راهنمایی بفرمایید کارم گیر همین یک مورد هست .
if ( $message =$_GET['message']){
$searchQuery = $message ;
$getroobat = mysqli_query($db, "SELECT * FROM roobat WHERE sooal LIKE '%$searchQuery'");
error_reporting(0);
while($row = mysqli_fetch_array($getroobat)){
echo $row['javab'];
}
}
خب شما دستور
echo $row['javab']
داخل while گذاشتین
کار while همینه، همه رو چاپ میکنه تا به آخر برسه
میتونید while نذارین یا آخر دستور SQL یه LIMIT 1 بذارین
آقا یک دنیا ممنون از شما حل شد همون LIMIT ۱ بود که فرمودید
یک سوال دیگه اگر بخواهیم میزان حساسیت جستجو را به شکل درصدی هم میشه تنظیم کرد ؟
@sepehrstar20
خواهش میکنم
درصد حساسیت نه فکر نکنم اون دیگه میره تو فاز هوش مصنوعی
WHERE CustomerName LIKE 'a%' Finds any values that start with "a"
WHERE CustomerName LIKE '%a' Finds any values that end with "a"
WHERE CustomerName LIKE '%or%' Finds any values that have "or" in any position
WHERE CustomerName LIKE '_r%' Finds any values that have "r" in the second position
WHERE CustomerName LIKE 'a__%' Finds any values that start with "a" and are at least 3 characters in length
WHERE ContactName LIKE 'a%o' Finds any values that start with "a" and ends with "o"
بنده نمیخواهم خیلی تخصصی باشه
فقط اگر در جمله ای که در جستجو وارد میشه یک کلمه از اون هم مشابه ای در دیتابیس باشه را چاپ کنه همین
این حالت مناسب تره
SELECT * FROM roobat WHERE sooal LIKE '%$searchQuery%'
یعنی اگه کلمه ای مشابه اون کلمه جستجو شده باشه برمیگردونه
آدرس ربات تست و نمونه بنده : اینجا هست
بله بنده هم اون % دومی را اضافه کردم
اما مشکل اینجا هست که به شکل مثال اگر ازش سوال بشه (قیمت سایت پزشکی ) جواب میده اما سوال بشه (سایت پزشکی چطور ) نمیتونه جواب بده و باید یک مقداری در دیتا بیس داشته باشه البته شما تا همین مقدار هم به بنده خیلی کمک کردید
در کل فکر کنم با کمی ارتقا بتوانم برای پشتیبان سایت خودم قرار بدم چون هم میتواند برای سرگرمی استفاده کرد و هم الان قابلیت ترجمه گوگل و ساعت آنلاین ، هواشناسی و.... را دارد و قابلیت های دیگه هم میخواهم اضافه کنم
نمونه اول
https://d-abdoli.ir/bot/
اطلاعات زیادی ندارم ولی خب این روش رو تست کنین
یعنی بیاین وقتی کاربر سرچ کرد : قیمت سایت پزشکی
شما با توجه به اسپیس اونو به سه تا کلمه تقسیم کنید، یعنی قیمت و سایت و پزشکی
بعد با هر سه تاش اون دستور رو اجرا کنین
نمیدونم جواب بده یا نه، با آزمون و خطا میتونین به نتیجه خوبی برسین
تشکر از راهنمایی شما
بنده هم میخواهم همین کار را انجام بدم اما تا این که چیزی شبیه به ربات های سایت دیالوگ diaalog.ir بشه خیلی راه دارد و تنهایی برای بنده که از php زیاد اطلاع ندارم چالش بزرگی هست سال 85 با vb6 این کار را در هنرستان انجام دادم و یک ایده قدیمی بود که میخواستم تحت وب اجرایش کنم
@sepehrstar20
سلام
ایده بسیار جالبیه..
شما میتونی کلمات رو با اسپیس جدا کنی و در یه ارایه بریزی
بعدش بصورت اول کل کلمه بعدش کم کردن یه کله از اخر و بعد کم کردن یه کلمه از اول کوئری بگیری
بعدش میتونی دو کلمه از اخری و بعد دو کلمه از اول کوئری بگیری و همینطور الی آخر
مثلا
سایت پزشکی چطور
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟