ايران ويج

نسخه‌ی کامل: چند سوال مهم در asp3
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4
این کار به ASP ربطی نداره . شما باید ابتدا صفحه رو Redirect کنید بعد توی کد HTML صفحه مقصد و در تگ body کد جاوا اسکریپت زیر رو بنویسی تا یک پنجره جدید باز کنه :

کد:
<body onload="window.open('http://www.yahoo.com','New','height=400,width=200');">
باز هم تشكر ويژه!!!

فقط يك بخش از پروژه ام مونده، اونم سرچه!

سرچ من به شكلي هست كه كلمات خاصب در ديتا بيس تعريف شده اند همرا با لينك صفحه مربوط! ميره كلمه رو از توي ديتا بيس سرچ ميكني و لينكش رو مياره
ولي چون اكسس هست هر كاري ميكنم فارسي سرچ نمكنه! يعني كار نميكنه

شما راه حالي داريد؟ و يا يك سرچ آماده و ساده براي اكسس
Mamad2003 عزيز، منتظر جوابت هستم!!!

فكر كنم چون اون كد سرچ با جاوا اسكريپت نوشته شده فارسيش كار نمكينه
این مسئله ربطی به جاوا اسکریپت نداره ... دسترسی به دیتابیس از طریق ASP صورت میگیره !! حالا مشکل شما کجاست ؟؟ کلا عمل سرچ شدن انجام نمیشه یا حروف بشکل درهم بر هم نمایش داده میشه ؟؟
عمل سرچ براي جستجوي انگليسي كامل انجام ميشه
ولي فارسي چيزي پيدا نميكنه!

انجام ميشه! ولي مثل وقتي هست كه چيزي پيدا نميكنه

كد سرچ من هم اينه:

کد:
<%@ LANGUAGE=JScript%>
<%

var a
a=Request.Form ("T2")
var b
b= new String(a)
var kh=new Array()
kh=b.split(" ")
var i
var c=0
var t
var ConnS
var StrConnS
ConnS = Server.CreateObject("ADODB.Connection")
ConnS.Provider="Microsoft.Jet.OLEDB.4.0"
StrConnS =Server.MapPath("db1.mdb")
ConnS.Open(StrConnS)
var ConnSR
ConnSR = Server.CreateObject ("ADODB.Recordset")
ConnSR.Open ("SELECT * FROM Search ", ConnS)
for(i=1;b.charAt(i)!="";i++)
{
if (b.charAt(i)==" ")
c=c+1
}
var g=0
var ok=new Array(c+1)
ConnSR.MoveFirst
while (!ConnSR.EOF)
{
t=new String(ConnSR.Fields ("Title"))
for (i=0;i<c+1;i++)
{
if(kh[i]==t)
{
g=g+1
var l
l=new String(ConnSR.Fields ("Link"))
ok[i]=1
var DE
DE =new String(ConnSR.Fields ("Detail"))

Response.Write (g)
Response.Write (".")
Response.Write (" ")
Response.Write (DE.link(l))


Response.Write (" ")

Response.Write ("<BR>")

Response.Write ("<BR>")
Response.Write ("<BR>")
}

}


ConnSR.MoveNext


}
var topol=0
for (i=0;i<c+1;i++)
{
if (ok[i]==1)
topol=1
}
if (topol==0)
{
Response.Write (b)
Response.Write (" ")
Response.Write ("یافت نشد. ")
}

%>


شما كد پيشنهادي نداريد؟!
کدی که شما نوشتی کار رو بسیار مشکل و مبهم میکنه !! یکی اینکه شما از تابعی ASCII مثل charAt استفاده کردین بدون توجه به اینکه برای سرچ فارسی شما string های UNICODE دریافت میکنید نه ASCII . راهی هم که انتخاب کردین بسیار نامناسبه ... تابعی مثل IndexOf همون کار پیدا کردن یک تکه رشته در رشته ای دیگه رو برای شما به آسونی انجام میده و شما نیازی به جداسازی رشته و حلقه و ... ندارید !!

من تکه کد شما رو تغییر دادم و کد مناسب تری نوشتم که امیدوارم برای هر دو زبان کار کنه ( البته تست کردنش دیگه با شما )

کد:
<%@LANGUAGE=JScript%>
<%

var srch= new String(Request.Form ("T2"))

var ConnS = Server.CreateObject("ADODB.Connection")
var ConnS.Provider="Microsoft.Jet.OLEDB.4.0"
var StrConnS =Server.MapPath("db1.mdb")
ConnS.Open(StrConnS)
var ConnSR = Server.CreateObject ("ADODB.Recordset")
ConnSR.Open ("SELECT * FROM Search ", ConnS)
ConnSR.MoveFirst
var cnt=0

while (!ConnSR.EOF)
{
    var t=new String(ConnSR.Fields ("Title"))
        
    if(t.indexOf(srch)!=-1)
    {
        
        var l=new String(ConnSR.Fields ("Link"))
        var DE =new String(ConnSR.Fields ("Detail"))

        Response.Write (++cnt)
        Response.Write (".")
        Response.Write (" ")
        Response.Write (DE.link(l))
        Response.Write (" ")
        Response.Write ("<BR><BR><BR>")
        
    }

    ConnSR.MoveNext

}

if (cnt==0)
{
    Response.Write (srch)
    Response.Write (" ")
    Response.Write ("یافت نشد. ")
}

%>
خيلي ممنون محمد جان!
اما متسفانه بازم فارسيش كار نميكنه و يافت نشد رو ميزنه!!!

شما يك سرچه ديگه نداري؟

اگه تركيبي باشه در اين موضوع كه عالي ميشه
آقا مرسي!
همون رو با يه تغيير كوچولو درست كردم!
عالي شد!

الان مونده سرچه تركيبيش!

به نظرت همين رو امكان تركيبي كردنش هست؟!

بيا كد بهتري سراغ داري؟
عزیزم کد به این خوبی ... دیگه چرا دنبال کد میگردی ؟؟ Amaze
کافیه یکم ابتکار عمل به خرج بدی و این سرچ ساده رو به یک سرچ ترکیبی تبدیل کنی Cool
اینجوری دیگه نمیشه پروژه شما ... میشه پروژه من Biggrin
اينم حرفيه!
مرسي

من گفتم شايد يكي آماده از قبل داشته باشيد كه از اون هم كمك بگيرم!

حالا به همين بايد ور برم به ديتا بيس چند تا گزينه و فيلد اضافه كنم!

......
يه چيزه ديگه:
از چه كدي بايد استفاده كنم كه دقيقا دنبال همون كلمه بگرده؟ مثل: "توپ"
فقط وقتي توپ رو پيدا كرد بياره
نقل قول: از چه كدي بايد استفاده كنم كه دقيقا دنبال همون كلمه بگرده؟ مثل: "توپ"
فقط وقتي توپ رو پيدا كرد بياره

بجای استفاده از indexOf شما کافیه کد زیر رو جایگزین کنی :

کد:
if (t==srch)
نيومدي هنوز!
اين سرچه آخه JScript هست!
من با دستور هاي SQL اش آشنا نسيتم
توي شرط select sql اش هر جوري مينويسم خطا ميگيره!

يه مثال كوچولو از where اش ميزني؟
صفحه‌ها: 1 2 3 4