Fa مشکل در گرفتن گزارش از دیتابیس درون فایل html

alimaya

Active Member
سلام به همه دوستان محترم.
همینطور که از عنوان مبحث معلومه من میخام از دیتابیسی که ساختم با استفاده از شیء Html گزارش تهیه کنم و بعد
از اون از گزارش پرینت بگیرم. هر قدر تو مبحثای مرتبط گشتم فقط نوشته بودن که باید با استفاده از حلقه For اطلاعات
دیتابیس رو گرفت و بعد با دستور strtoline داخل یک فایل html خروجی گرفت. ولی من هر کاری کردم نتونستم این کارو
انجام بدم. اگه آقای evil_gates محترم لطف میکردن و داخل مبحث آموزش قدم به قدم پلاگين SQLite این آموزش
رو میذاشتند واقعا عالی میشد.
اگه ممکنه با استفاده از نمونه ای که گذاشتم راهنماییم کنید و همچنین لطف کنید و نحوه تهیه یک گزارش کلی از
دیتابیس رو هم بگید. فایل txt و html و بقیه فایلهای مورد نیاز رو هم با استفاده از مبحثای قبلی ساختم.
ممنون میشم اگه یکی از دوستان راهنماییم کنه.
 

پیوست ها

  • problem.rar
    181.3 کیلوبایت · بازدیدها: 51

alimaya

Active Member
سلام خدمت همه دوستان محترم.
خودم مشکل رو حل کردم. حلقه رو اشتباه مینوشتم. گفتم یک پست بزنم که نکنه یه موقع دوستان تو زحمت بیفتن و بخوان فایل رو دانلود

کنن و یه نگاه بهش بندازن!:mad:

بازهم از همکاریتون متشکرم.
 

alimaya

Active Member
باز هم سلام خدمت همه دوستان محترم. من دوباره به مشکل برخوردم. هر کاری هم کردم نتونستم خودم حلش کنم. امیدوارم یکی از دوستان لطف کنه و اینبار دیگه جواب ده.
من میخوام از عدد یک تا تعداد سطرهای پیدا شده تو جستجوی کاربر رو به ترتیب تو ستون اول شیء HTML اضافه کنم. حلقه رو هر جوری مینویسم درست نمیشه.
یکی از دوستان پیشکسوت یا مدیر انجمن لطف کنن و با اصلاح کد کمکم کنن.

کد:
sql_query$='SELECT * FROM tell WHERE code3 LIKE "%'+search$+'%";'
PluginSet("SQL_Plugin","sql_query$")
PluginRun("SQL_Plugin","Query")
PluginGet("SQL_Plugin","Result$")
PluginGet("SQL_Plugin","Rows")
If (Rows>0) Then
  For i=1 To Rows
    record$[i]=GetArrayItem(Result$,'#',i)
    record$[i]=record$[i]+'|'
    For r=1 To Rows
      For j=2 To 9
        field$[j]=GetArrayItem(record$[i],'|',j)
      Next j
    Next r
    str$ = ''
    target$ = '<Embedded>i.htm'
    path$ = '<Embedded>\x.txt'
    temp$ = StrFromFile(path$,1,1)
    str$ = temp$ + CHAR(r)
    temp$ = StrFromFile(path$,2,1)
    str$ = str$ + temp$ + field$[2]
    temp$ = StrFromFile(path$,3,1)
    str$ = str$ + temp$ + field$[3]
    temp$ = StrFromFile(path$,4,1)
    str$ = str$ + temp$ + field$[4]
    temp$ = StrFromFile(path$,5,1)
    str$ = str$ + temp$ + field$[5]
    temp$ = StrFromFile(path$,6,1)
    str$ = str$ + temp$ + field$[6]
    temp$ = StrFromFile(path$,7,1)
    str$ = str$ + temp$ + field$[7]
    temp$ = StrFromFile(path$,8,1)
    str$ = str$ + temp$ + field$[8]
    temp$ = StrFromFile(path$,9,1)
    str$ = str$ + temp$ + field$[9]
    temp$ = StrFromFile(path$,10,1)
    str$ = str$ + temp$
    retval = StrToFile(target$,str$,TRUE,TRUE)
    Browser("Browser","Refresh")
  Next i
End
************************************8
 

alimaya

Active Member
سلام به همه دوستان.
این تاپیک پوسید. هیچ کدوم از دوستان یا مدیر انجمن نمیخوان جواب بدن؟
من چهار روز پیش پست زدم. نمیدونم سوالم سخته یا اینکه اعضاء محترم پیشکسوت کلا قصد جواب دادن به این سوالو ندارن!
لطف کنید یا راهنماییم کنید یا اینکه بگید همچین چیزی امکان نداره که من بیخودی وقتمو تلف نکنم.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
وقتی شما قصد دارید که اطلاعاتتون رو تحت فرمت HTML ذخیره کنید، پس باید اطلاعات رو بصورت کدهای HTML ذخیره کنید، من تو کدهاتون موردی رو برای فرمت کردن متن بصورت کدهای HTML نمیبینم.

در وهله ی اول شما باید یک قالب برای فایل HTMLتون داشته باشید، مثلاً یک جدول.
بعد قسمت هایی از کد که نیاز هست تکرار بشه (کدهای HTML) رو مشخص کنید، مثلاً خونه های جدول
بعد از گرفتن اطلاعات از دیتابیس، باید اون اطلاعات رو در کدهای HTML وارد کنید تا ترکیب نهایی از String شما یک فایل با فرمت HTML باشه.

الان از کدهای شما نمیشه فهمید اصلاً مشکل از کجاست !
 

alimaya

Active Member
کم کم داشتم نا امید میشدم. ممنون که بالاخره پاسخ دادید جناب nevercom.
من همه کارهایی که گفتید رو انجام دادم. تمام فایلهای مورد نیاز تو پست یک موجود بود.
لطف کنید و فایل پیوست همین پست رو دانلود کنید. هنگام کامپایل و کلید روی جستجو متوجه میشید چرا میخوام ستون اول فایل HTML رو خودم عدد گذاری کنم. خودم هرکاری کردم نتونسم حلقه ای بنویسم که مشکل رو حل کنه. ممنون میشم تو نوشتن حلقه کمکم کنید. فقط لطف کنید و یکم زودتر پاسخ بدید.
 

پیوست ها

  • problem.rar
    179.9 کیلوبایت · بازدیدها: 58

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
attachment.php


الان مشکل کجاست ؟
چون به نظر میرسه که گزارش گیری و ساخت فایل HTML به درستی انجام میشه !
 

پیوست ها

  • Report.GIF
    Report.GIF
    10.9 کیلوبایت · بازدیدها: 60

alimaya

Active Member
ممنون به خاطر توجهتون.
شما اگه به ترتیب اعداد ستون اول نگاه کنید متوجه منظور من میشید. من میخوام اعداد به ترتیب از یک شروع بشن و تا تعداد سطرهای پیداشده ادامه پیدا کنن. به خاطر همین حلقه For دوم رو از 2 شروع میکردم تا ستون اول خالی بمونه و بعد یه حلقه دیگه مینوشتم تا ستون اول رو همونطور که میخواستم پر کنم. ولی هر کاری میکنم حلقه درست از آب در نمیاد. حالا از شما میخوام که لطف کنید و راهنماییم کنید.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
دلیلش خیلی ساده س !
شما اطلاعات ستون اول جدول که همون ردیف هست رو از دیتابیس میگرفتید، احتمالاً فیلدی که ID هر فرد در اون مشخص شده.
ممکنه در جستجوی شما، فردی که آیدی 2 رو داره، جزء نتایج جستجو نباشه 0مثل عکسی که پیوست شده)

اگر فقط هدفتون نمایش تعداد رکورد های موجود در جدول هست، کافیه از متغیر i استفاده کنید، کد زیر اصلاح شده ی کد خودتون هست:
کد:
sql_query$=[COLOR=#800000]'SELECT * FROM tell WHERE name LIKE "%'[/COLOR]+search$+[COLOR=#800000]'%";'[/COLOR] 
[COLOR=#000090][B]PluginSet[/B][/COLOR]("SQL_Plugin","sql_query$") 
[COLOR=#000090][B]PluginRun[/B][/COLOR]("SQL_Plugin","Query") 
[COLOR=#000090][B]PluginGet[/B][/COLOR]("SQL_Plugin","Result$") 
[COLOR=#000090][B]PluginGet[/B][/COLOR]("SQL_Plugin","Rows") 
[COLOR=#000090][B]PluginSet[/B][/COLOR]("SQL_Plugin","sql_query$") 
[COLOR=#000090][B]PluginRun[/B][/COLOR]("SQL_Plugin","Query") 
[COLOR=#000090][B]PluginGet[/B][/COLOR]("SQL_Plugin","Result$") 
[COLOR=#000090][B]PluginGet[/B][/COLOR]("SQL_Plugin","Rows") 
[COLOR=#0000FF]If[/COLOR] (Rows>[COLOR=#ff0000]0[/COLOR]) [COLOR=#0000FF]Then[/COLOR] 
  [COLOR=#0000FF]For[/COLOR] i=[COLOR=#ff0000]1[/COLOR] [COLOR=#0000FF]To[/COLOR] Rows 
    record$[i]=[COLOR=#000090][B]GetArrayItem[/B][/COLOR](Result$,[COLOR=#800000]'#'[/COLOR],i) 
    record$[i]=record$[i]+[COLOR=#800000]'|'[/COLOR] 
    [COLOR=#0000FF]For[/COLOR] j=[COLOR=#ff0000]1[/COLOR] [COLOR=#0000FF]To[/COLOR] [COLOR=#ff0000]9[/COLOR] 
      field$[j]=[COLOR=#000090][B]GetArrayItem[/B][/COLOR](record$[i],[COLOR=#800000]'|'[/COLOR],j) 
    [COLOR=#0000FF]Next[/COLOR] j 
    str$ = [COLOR=#800000]''[/COLOR] 
    target$ = [COLOR=#800000]'<Embedded>\i.htm'[/COLOR] 
    path$ = [COLOR=#800000]'<Embedded>\x.txt'[/COLOR] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]1[/COLOR],1) 
    str$ = temp$ + [COLOR=#000090][B]CHAR[/B][/COLOR](i) 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]2[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]2[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]3[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]3[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]4[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]4[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]5[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]5[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]6[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]6[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]7[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]7[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]8[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]8[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]9[/COLOR],1) 
    str$ = str$ + temp$ + field$[[COLOR=#ff0000]9[/COLOR]] 
    temp$ = [COLOR=#000090][B]StrFromFile[/B][/COLOR](path$,[COLOR=#ff0000]10[/COLOR],1) 
    str$ = str$ + temp$ 
    retval = [COLOR=#000090][B]StrToFile[/B][/COLOR](target$,str$,[COLOR=#0000FF]TRUE[/COLOR],TRUE) 
  [COLOR=#000090][B]Browser[/B][/COLOR]("Browser","Refresh") 
  [COLOR=#0000FF]Next[/COLOR] i 
 
[COLOR=#0000FF]End[/COLOR] 
[COLOR=#009000]******************[/COLOR]

 

alimaya

Active Member
خیلی ازتون متشکرم جناب nevercom .

دلیلش خیلی ساده س !
شما اطلاعات ستون اول جدول که همون ردیف هست رو از دیتابیس میگرفتید، احتمالاً فیلدی که ID هر فرد در اون مشخص شده.
ممکنه در جستجوی شما، فردی که آیدی 2 رو داره، جزء نتایج جستجو نباشه 0مثل عکسی که پیوست شده)
اینو میدونستم که ممکنه بعضی از ردیف ها جزئ نتایج جستجو نباشه و به خاطر همین این مشکل پیش میاد. ولی نمیدونستم باید از مقدار متغییر i استفاده کنم. فکر میکردم باید یه حلقه جدید بنویسم که و با نوشتن این حلقه کلا نتایج به هم ریخته میشد.
بازم ازتون متشکرم و براتون آرزوی موفقیت روز افزون دارم.
 

جدیدترین ارسال ها

بالا