جستجو دیتابیس آنلاین
سلام خدمت شما و خسته نباشید
این کد برای دیتابیس آفلاین هست. آیا ممکن هست بفرمایید برای دیتابیس آنلاین مثلا برای سرچ در دیتابیس دیکشنری چه کدی باید بنویسم
؟
تشکر
Dim cur1 As Cursor
cur1=s.ExecQuery("SELECT farsi,english,talafoz FROM table WHERE farsiLIKE '"&EditText1.Text&"'")
For i = 0 To cur1.RowCount-1
cur1.Position=i
ListView1.AddTwoLines(cur1.GetString("farsi"),cur1.GetString("english"))
توجه: من از دیتبابیس هم واژه و هم معنایش را فراخوانی می کنم و در دو لیبل لیست ویو نشان می دهم. اما نمی دادنم «ExecQuery» برای انلاین چطوری نوشته می شود
باز هم سپاس

پاسخ ها ( 5 )
سلام.
برای سرچ توی دیتابیس آنلاین، ابتدا باید فایل سرچ پی اچ پی رو بنویسی و در هاست آپلود کنی
و سپس دستورات مربوطه رو توی بیسیک بنویسی تا پارامتر سرچ رو ابتدا به فایل پی اچ پیت بفرسته و سپس جواب رو از همون فایل پی اچ پیت بگیره و نمایش بده.
یه جورایی همون سلکت میشه.
سلام اقای مرتضی ممنونم
بله پی اچ پی رو من دیدم و نوشتم. اما ظاهرا در بسیک فور اندورید هم یک سری کدهایی داره. برای یافتن واژه ها در دیتابییس و لیست کردن و نشان دادن در لیست ویوو.
سلام
شما وقتی در سمت سرور یک متنی رو جستجو میکنی، نتیجه ی اون درخواست رو داخل یک متغیر ذخیره میکنید، سپس سمت بیسیک باید بیای و اطلاعات رو پردازش و تو لیست ویو نمایش بدی.
کدهای سمت سرور:
ساده ترین روش اتصال به بانک، اگر با روش اتصال شما به بانک فرق داره، فقط کدهای بخش select رو بردارید و استفاده کنید.
<?php error_reporting(0); $con = mysql_connect('localhost','username','passowrd'); $key=$_POST['key']; if($con){ mysql_select_db('beporsam_db',$con); mysql_set_charset('utf8'); $q="SELECT * FROM tbl_user where name like '%$key%'"; $result=mysql_query($q); $result2 = array(); while(($row = mysql_fetch_assoc($result))) $result2[] = $row; if($result2){ echo json_encode($result2); } else { echo "No!"; } } ?>کدهای سمت کلاینت(B4A):
Sub Activity_Create(FirstTime As Boolean) Dim htsearch As HttpJob Dim go As String go="key="&SearchText.Text htsearch.Initialize("htsearch",Me) htsearch.PostString("http://yoururl/search.php",go) End Sub Sub JobDone1(job As HttpJob) Dim lst As List Dim mp As Map Dim json As JSONParser If job.JobName="htsearch" Then If job.GetString.IndexOf("nist")==-1 Then ToastMessageShow("نتیجه ای یافت نشد.",False) Else json.Initialize(job.Getstring) lst=json.NextArray For i=0 To lst.Size-1 mp=lst.Get(i) listv.AddTwoLines(mp.Get("username"),mp.Get("password")) Next End If End If End If End Subدر تکه کد بالا، برنامه ای نوشتیم که در جدول tbl_user(که این جدول دو ستون username,password) داره، بعد از جستجو در سمت کلاینت اطلاعات رو دریافت میکنیم و در لیست ویو نمایش میدیم.
موفق باشید.
اقای مدیر
سلام و خسته نباشید
مشکل این دو تکه کدی که شما نوشتید این هست که
در قسمت بیسیک، برای رویداد کلیلک دکمه سرچ کدی ننوشتید.
یعنی من در ادیت تکست یک کلمه ای می نویسم، بعدش باید یک دکمه ای را بزنم تا سرچ انجام شود، آن خودش یک ساب جداست، شما آن ساب را در نظر نگرفتید؟
لطفا کامل کنید بی زحمت . یا بگویید راه حلش چیست؟ ممنون
سلام
برای بحث جستجوی آنلاین یک آموزش در سایت منتشر میکنیم و بهش می پردازیم تا ابهامات برطرف بشه.
ممنون مدیرجان
چه زمانی عملی میشه؟
سلام جلال جان
انشاءالله در اسرع وقت
سلام ممنونم جناب مدیر
البته من یک جای دیگری این کدها رو پیدا کردم . کدهای شما ارور می داد.
ht.Initialize("job" , Me) ht.PostString("http://aaaaaaaaaaaaaaa.ir/index.php","")این هم که معرفی دیتابیس هست
این قسمت باید در ساب جاب نوشته شود
Sub JobDone (job As HttpJob) If job.Success = True Then Dim cur As Cursor Dim bas As List Dim m As Map m.Initialize js.Initialize(job.GetString) m=js.NextObject bas=m.get("b4a") For i=0 To bas.Size-1 m=bas.Get(i) cur=sql.ExecQuery("select ..... from ..... where .... like'%"&EditText1.Text&"%'") If cur.RowCount=0 Then sql.ExecNonQuery("insert into .....(.....)Values('"&m.Get("....")&"','"&m.Get("....")&"')") End Ifاین هم در قسمت کلیک نوشته شود
Sub Button1_Click Dim cur2 As Cursor ' cur=sql.ExecQuery("select * from ....") cur2=sql.ExecQuery("SELECT .... FROM ... WHERE ... LIKE '%"&EditText1.Text&"%'") For i=0 To cur2.RowCount-1 cur2.Position=i ListView1.Addsingleview(cur2.GetString("...")آموزش جستجو در دیتابیس آنلاین در سایت منتشر شد.
آموزش ارتباط با سرور آنلاین در B4A – قسمت هشتم(جستجو)