webForumDet fria alternativet

Söka i 3st tabeller, hur?

ASP

7 svar · 341 visningar · startad av tank82

Medlem sedan feb. 2003210 inlägg
Frågan#1

Hejsan,
Skulle bli väldig glad om någon vänlig själ kunde hjälpa mig med ett problem (första gången jag skapar en tråd här).

Jag vill kunna söka i en databas (nyhet.mdb) som har 3st tabeller (nyhet01, nyhet02 och nyhet03) i dom finns ID, rubrik, nyhet och datum. Iden är att man ska ha en sida som man fyller i vad man ska söka på (ex "börjar"), sen när man klickar på "sök" så ska man komma till en ny sida som listar alla svar man får.

t.ex
Sidan "börjar" ta form - 2002 01 02
Nu "börjar" tävlingen - 2002 01 01

Det sökningen ska "söka igenom" är rubrik och nyhet.

Är det någon som kan fixa detta? gärna ett så komplett script som möjligt. Jag är i nybörjar stadiet, men jag lär mig sakta men säkert.

Tack på förhand//Mange

EDIT:

När sökresultatena skrivs ut så skulle det vara bra om tex dom resultatena i "nyheter01" skrevs ut med url: nyheter01.asp?ID=1
och för "nyheter02" i: nyheter02.asp?ID=1 osv.

Det kanske går att fixa?

Medlem sedan dec. 20003 563 inlägg
#2

Hmm. Det verkar som du även vill låta sortera dessa separat och behandla dem separat, eller är jag helt ute och cyklar?
Men frågan är varför du har dem i 3 olika tabeller?
Borde du inte kunna ha dem i en och samma fast sätta en extra kolumn som beskriver vilken typ av nyhet det är?

Välkommen till wF! :birp

Medlem sedan feb. 2003210 inlägg
#3

Jo det är klart att man skulle kunna ha dom i en extra kolumn, men då blir det väldig jobbigt att ändra all övrig kod (23st .asp sidor)

Jag vill ju kunna söka i alla tabeller (eller ha en dropdown som man kan välja nyhet01, nyhet 02 & nyhet03)

Men är det genomförbart, och så fall hur?

Tack för :birp cyprys, den satt fint.

EDIT:
kanske inte 23st sidor men väldigt många :e

Medlem sedan dec. 200012 464 inlägg
#4

Jag tycker som cyprys att du skulle ändra tabellerna. För varje ny funktion du lägger till får du krångla för att få till det.

Det går att använda union för att söka i flera tabeller

q = "select rubrik,nyhet,'Nyhet 01' from nyhet01 " & _
"where rubrik like '%" & replace(request.form("search"),"'","''") & "%'" & _
"or nyhet like '%" & replace(request.form("search"),"'","''") & "%'" & _
" union all " & _
 "select rubrik,nyhet,'Nyhet 02' from nyhet02 " & _
"where rubrik like '%" & replace(request.form("search"),"'","''") & "%'" & _
"or nyhet like  '%" & replace(request.form("search"),"'","''") & "%'" & _
" union all " & _
" select rubrik,nyhet,'Nyhet 03' from nyhet03 " & _
"where rubrik like '%" & replace(request.form("search"),"'","''") & "%'" & _
"or nyhet like '%" & replace(request.form("search"),"'","''") & "%'" & :
" order by datum desc "
Medlem sedan dec. 20003 563 inlägg
#5

Jo det är klart att man skulle kunna ha dom i en extra kolumn, men då blir det väldig jobbigt att ändra all övrig kod (23st .asp sidor)

Jag skulle nog lägga mina sista pengar på att det kommer bli ännu jobbigare det du har framför dig om du har kvar allt.

Jag vill ju kunna söka i alla tabeller (eller ha en dropdown som man kan välja nyhet01, nyhet 02 & nyhet03)
Men är det genomförbart, och så fall hur?

Funkar alldeles utmärkt. Bara att sortera efter typen på posten sedan eller skapa en varsin dropdown för varje tabell. (Vilket tycker du låter smidigast?)

Medlem sedan feb. 2003210 inlägg
#6

En dropdown för varje tabell funkar för mig, kan någon skriva ihop ett exempel till mig? (gärna ett helt exempel med db koppling osv.) =)

Medlem sedan dec. 20003 563 inlägg
#7
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/data/databas.mdb")

Set Rs = conn.exeute("SELECT ID, rubrik, datum FROM nyhet01 ORDER BY datum DESC")
%>
<select name=form_news01>
<%
Do until Rs.EOF
%>
<option value="<%=Rs("ID")%>"><%=Rs("Rubrik")%></option>
<%
Rs.MoveNext
Loop
conn.close
Set conn = nothing
%>
</select>

Exemplet utgår från att du har en databas som ligger i mappen data i din wwwroot. Tabellen heter nyheter01 och kolumnerna ID, Rubrik, Datum.

Medlem sedan feb. 2003210 inlägg
#8

Tack cyprys! funkar kanon bra... :birp

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)