PDA

View Full Version : جستجو سایت



mahsa_emad
یک شنبه 20 آذر 1390, 20:03 عصر
سلام دوستان اگر من بخوام در متن به دنبال کلمه ای خاص بگردم متن را هم باید در دیتا بیس ذخیره کنم ؟ لطفا رانمایی کنید به چه صورت؟

fakhravari
یک شنبه 20 آذر 1390, 20:48 عصر
با سلام
متاسفانه قبل شما یه راهنمایی کردم تاپیک حذف شد.
فقط اینو بگم که like باید کرد.
احتمالا این تاپیک حذف بشه

mahsa_emad
یک شنبه 20 آذر 1390, 21:39 عصر
ممنون از راهنماییتون فقط متن هایی رو که می خوام در جستجو باشن باید در دیتا بیس ذخیره بشه ممنون

sg.programmer
یک شنبه 20 آذر 1390, 21:51 عصر
خوب اول insert انجام بده


INSERT INTO table_name (column1)
VALUES (search_value)


بعد سرچ کن



SELECT * FROM table_name
WHERE search_col like '%search_value%';

mahsa_emad
یک شنبه 20 آذر 1390, 22:04 عصر
ممنون منظور من اینه که متن رو داخل چه چیزی کپی کنم و در دیتا بیس ذخیره کنم

ممنونم خیلی لطف کردین میشه لطفا یه توضیح هم در موردش بدین

fakhravari
یک شنبه 20 آذر 1390, 22:05 عصر
من دوباره میزارم اما حق اون یکی دوستمون خورده شد چون تاپیکش حذف شد.

public string Subject;
#region اطلاعات like
public DataTable like_Topik()
{
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = " SELECT * FROM B_Topics where (Subject like N'%" + this.Subject + "%') ";
cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = this.Subject;
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
con.Close();
return dt;
}
#endregion

string sql;

protected void Page_Load(object sender, EventArgs e)
{
sql = Request.QueryString["Subject"];

this.Page.Title = "::"+" جست جو بر حسب کلمه :" + sql + "::";


Topik t = new Topik();
t.Subject = sql;

GridView1.DataSource = t.like_Topik();
GridView1.DataBind();

}


<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" ShowHeader="False" BorderStyle="None"
GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<p>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("~/Show/Display_PostID.aspx?TopicID={0}&Subject={1}" ,Eval("TopicID"), Eval("Subject")) %>'
Text='<% #Eval("Subject")%>' Target="_blank">
</asp:HyperLink>
&nbsp; | &nbsp;تاریخ ارسال : <asp:Label ID="Label1" Font-Size="9px" runat="server" Text='<%#Eval("Date")%>'></asp:Label>&nbsp;|&nbsp;زمان ثبت : <asp:Label ID="Label2" Font-Size="9px" runat="server" Text='<%#Eval("Time")%>'></asp:Label>
</p>
</ItemTemplate>
</asp:TemplateField>
</Columns>

<EmptyDataTemplate>
<p style=" color:Olive; float:none;">پست ثبت نشده است</p>
</EmptyDataTemplate>
<PagerStyle HorizontalAlign="Center" BorderStyle="Solid"/>
</asp:GridView>

ببنید من 4 تا کد گذاشتم
بهتره در کلاس درست کنید این کد ها رو.
add new item > class
یه اسمس بدین بعد کد 1 تا 2 رو کپی کنید در اون using هم باید کنید sqldata , data از اینا خودش راهنمایی میکنه ویژال.
بعد بیاین کد 3 که باید در مسترپیج یه textbox , buton بزارین بعد با دستور
Response.Redirect("Like_Topik.aspx?Subject="+TextBox1.Text);
میفرسته مقادیر به پیج Like_Topik.aspx که با دستور 3 مقادیر گرفته میشه و در کد 4 گرید هست که نمایش میده

mahsa_emad
دوشنبه 21 آذر 1390, 00:19 صبح
سلام من واقعا ممنونم از شما فقط یه راهنمایی دیگه من متن رو باید داخل چه چیزی بنویسم و باید حتما متن داخل دیتابیس ذخیره شه

fakhravari
دوشنبه 21 آذر 1390, 02:34 صبح
بله دیگه.
مثل همین جستجوی سایت برنامه نویس

dragon_895
شنبه 26 آذر 1390, 19:09 عصر
بله دیگه.
مثل همین جستجوی سایت برنامه نویس

سلام
میشه این کد رو با vb.net هم بذارید؟ من یه جاهاییشو متوجه نمیشم

fakhravari
شنبه 26 آذر 1390, 22:30 عصر
با سلام
فکر نکنم تبدیل به vb خیلی سخت باشه . کدها خیلی ساده و واضح هستند.

Saman Hashemi
یک شنبه 27 آذر 1390, 08:07 صبح
شما برای سایت میخواهید قسمت جستجو درست کنید یا میخوایین توی یه متن ساده دنبال یه کلمه بگردید...!:متفکر:
اینکاری ;i شما میخواهید بکنید اصلا نیازی به بانک نداره ساده است...!
if(TextBox1.Text.Trim().Contain("saman"))
{//code
}

dragon_895
یک شنبه 27 آذر 1390, 12:50 عصر
cmd.CommandText = " SELECT * FROM B_Topics where (Subject like N'%" + this.Subject + "%') ";
cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = this.Subject;


من این دو خط رو متوجه نمیشم، Subject یه فیلد تو جدوله؟
وقتی می نویسم، me.subject ، نمی شناسش.

fakhravari
یک شنبه 27 آذر 1390, 13:06 عصر
با سلام
Subject همان کلمه است که باید سرچ شود.
cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = this.Subject در این خط به جای this.Subject بدین textbox

dragon_895
یک شنبه 27 آذر 1390, 13:48 عصر
با سلام
Subject همان کلمه است که باید سرچ شود.
cmd.Parameters.Add("@Subject", SqlDbType.NVarChar).Value = this.Subject در این خط به جای this.Subject بدین textbox

مثل اینکه من درست نتوستم منظورمو به شما بگم، من کد جستجوی پیشرفته رو میخوام. توی صفحه جستجوی من چندتا texbox و یه dropdownlist هست. میخوام از جدول کتاب، فیلدهای عنوان، موضوع و مولف رو بشه جستجو کرد
مشکلی که دارم تو گداشتن and و or برای where هام هست.

dragon_895
یک شنبه 27 آذر 1390, 14:20 عصر
متوجه منظورم شدین؟ میخوام تصویرشو بذارم براتون ولی نمیشه

dragon_895
یک شنبه 27 آذر 1390, 14:24 عصر
این تصویر صفحه جستجوی منه
79369

fakhravari
یک شنبه 27 آذر 1390, 17:23 عصر
با سلام
خوب باید بگید فیلد موضوع and بگیرید برای مثال
cmd.CommandText = " SELECT * FROM B_Topics where (ForumID="+1+" and Subject like N'%" + this.Subject + "%') ";