Avatar billede no_doubt Nybegynder
31. januar 2003 - 13:05 Der er 29 kommentarer og
1 løsning

sende søgeord med

http://www.1q.frip.dk/opslag/default.asp

Hvis man søger efter v vil man få to hits men jeg vil gerne have søge resultaterne til at så der selv om man har klikket sig ind på en af ordene
Avatar billede no_doubt Nybegynder
31. januar 2003 - 13:28 #1
hvorfor er der ingen tekst
Avatar billede no_doubt Nybegynder
31. januar 2003 - 13:29 #2
Nå men jeg kan ikke se den så vil lige ligge spørgsmålet igen

Jeg sidder med denne side
http://www.1q.frip.dk/opslag/default.asp
Og når når søger (søg på v) og vælger en af resultaterne fjerne den resultaterne og viser kun dataerne ved det spurgte id.
Avatar billede oasen Nybegynder
31. januar 2003 - 13:30 #3
Jeg troede ellers admin havde fået ordnet databasen nu. Prøv at stille dit spm igen.
Avatar billede oasen Nybegynder
31. januar 2003 - 13:33 #4
Du sender søgeordet med post. Derfor indeholder formen ingenting, hvis du anmoder om en ny side.
Brug GET i stedet for.
Avatar billede no_doubt Nybegynder
31. januar 2003 - 13:35 #5
Jamen jeg trækker det ud med
<%ordet = request.form("ord")
set rs = server.CreateObject("ADODB.Recordset")
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("database.mdb")
strSQL = "SELECT * FROM opslagsord where (forklaring like '%"& ordet &"%') or (ord like '%"& ordet &"%') or (relation like '%"& ordet &"%') ORDER BY ord ASC"
Set rs = Conn.Execute(strSQL)
if ordet <> "" then
if rs.eof then
response.write "Du søgte på" & "&nbsp;" & "&quot;" & "<b>" & ordet & "</b>" & "&quot;" & "&nbsp;" & "gav ingen resultater" & "<br>"
Response.write "Hjælp os med at udbygge maskinen ved at følge instruktionen herunder"
else
response.write "Vi fandt følgende, efter din søgning på" & "&nbsp;" & "&quot;" & "<b>" & ordet & "</b>" & "&quot;" & "<br>"
Response.write "<br>"
do while not rs.EOF
response.write "<a style='color: rgb(0,0,0)' href='default.asp?ID=" & RS("ID") &  "'> " & RS("ord") & "</a>" & "<br>"
rs.movenext
loop
end if
if request.querystring("ID") <> "" then
response.write "Vi fandt følgende, efter din søgning på" & "&nbsp;" & "&quot;" & "<b>" & ordet & "</b>" & "&quot;" & "<br>"
Response.write "<br>"
do while not rs.EOF
response.write "<a style='color: rgb(0,0,0)' href='default.asp?ID=" & RS("ID") &  "'> " & RS("ord") & "</a>" & "<br>"
rs.movenext
loop
end if
end if
%>
Avatar billede oasen Nybegynder
31. januar 2003 - 13:35 #6
Altså:

<form action="default.asp" method="GET">
  <div align="left"><p><input type="text"
  onclick="if(this.value=='Indtast ord'){this.value='';this.focus()}"
  onblur="if(this.value==''){this.value='Indtast ord'}" size="16" name="ord"
  value="Indtast ord"> <input type="submit" value="Søg" name="soeg"></p>
  </div>
</form>

Du vil så få en querystring med navnet "ord" der er lig med indholdet af tekstboksen.
Avatar billede oasen Nybegynder
31. januar 2003 - 13:36 #7
Prøv at udskifte formularen med ovenstående. Og fang så dit ord med:

ordet = request.querystring("ord")
Avatar billede oasen Nybegynder
31. januar 2003 - 13:38 #8
Herefter skal du overføre denne querystring, når du linker til en ny side:

response.write "<a style='color: rgb(0,0,0)' href='default.asp?ord=" & request.querystring("ord") & "&ID=" & RS("ID") &  "'> " & RS("ord")
Avatar billede no_doubt Nybegynder
31. januar 2003 - 13:41 #9
det er gjort, men virker ikke
Avatar billede oasen Nybegynder
31. januar 2003 - 13:44 #10
Og så er det i øvrigt en rigtig god idé at "fikse" de singlequotes ('), søgestrengen måtte indeholde for at undgå SQL-komplikationer.

SikkerStreng = Replace(ordet, "'", "''")
strSQL = "SELECT * FROM opslagsord where (forklaring like '%"& SikkerStreng &"%') or (ord like '%"& SikkerStreng &"%') or (relation like '%"& SikkerStreng &"%') ORDER BY ord ASC"
Avatar billede oasen Nybegynder
31. januar 2003 - 13:45 #11
Får du fejl, eller hvad sker der?
Avatar billede oasen Nybegynder
31. januar 2003 - 13:49 #12
Så vidt jeg kan se på din side, virker det fint, men jeg har måske misforstået noget?
Avatar billede no_doubt Nybegynder
31. januar 2003 - 13:49 #13
nej ikke nu andet end hvad vi kan gøre ved en der trykker på soeg uden noget i boksen, det får en klam adresse
Avatar billede oasen Nybegynder
31. januar 2003 - 13:53 #14
Så skal du lave en clientside-validering af strengen, inden den behandles via ASP.
Avatar billede oasen Nybegynder
31. januar 2003 - 13:57 #15
<head>

<script language="javascript" type="text/javascript">
<!--

function checkord()
  {
  error = 0;
  if(document.forms[0].ord.value=='') 
  {       
    alert('Du skal indtaste et søgeord!');
    document.forms[0].ord.focus();
    error = 1;       
  }           

  if(error == 0)
  document.forms[0].submit();   
  }

// -->
</script>

</head>

<body>

<form action="default.asp" method="GET" onSubmit="checkord();return false;">

Osv...
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:00 #16
Hvad mente du med det indlæg af 31/01-2003 13:44:45
Avatar billede oasen Nybegynder
31. januar 2003 - 14:02 #17
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:06 #18
Hvordan tackler jeg min ide med at en kan sætte ordet ind osv.
Avatar billede oasen Nybegynder
31. januar 2003 - 14:07 #19
Prøv nu at læse, hvad jeg skriver. Jeg har lige givet dig et komplet stykke kode, der løser problemet ;)
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:09 #20
Jeg må leve med det tomme ord, er ikke meget for alerts
Avatar billede oasen Nybegynder
31. januar 2003 - 14:10 #21
Nu siger du "sætte ordet ind". Går din bekymring på, at en eller anden ændrer adressen, og dermed laver søgeordet om?
Avatar billede oasen Nybegynder
31. januar 2003 - 14:11 #22
Det har jo heller ingen betydning for selve funktionen, hvad der indtastet. Hvis nogen synes det er sjovt at søge efter "ingenting", skal de næsten have den fornøjelse.
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:13 #23
nej det er ligemeget.. det er det der står nederst
Altså hvis den ikke finder noget skal der være de muligheder der står nederst, enten kan brugeren selv skrive betydningen med videre
ellers kan han ligge den ud til folk så kan man se hvilke ord hvor betydningen er ukendt, eller han kan sende en mail til mig så skal jeg se om jeg kan finde ud af det.
Avatar billede oasen Nybegynder
31. januar 2003 - 14:17 #24
Okay...

Angående mit indlæg pr. 31/01-2003 13:44:45, så skal du ikke lave en replace af "ordet". Opret en ny variabel "SikkerStreng", som jeg illustrerede.
Ellers vil der ved en søgning på "That's why" komme til at stå:
Du søgte på "That''s why" gav ingen resultater

Er den server altid så sløv?
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:19 #25
Jeg er ikke med...
Avatar billede oasen Nybegynder
31. januar 2003 - 14:20 #26
Udskift:

strSQL = "SELECT * FROM opslagsord where (forklaring like '%"& ordet &"%') or (ord like '%"& ordet &"%') or (relation like '%"& ordet &"%') ORDER BY ord ASC"

- med:

SikkerStreng = Replace(ordet, "'", "''")
strSQL = "SELECT * FROM opslagsord where (forklaring like '%"& SikkerStreng &"%') or (ord like '%"& SikkerStreng &"%') or (relation like '%"& SikkerStreng &"%') ORDER BY ord ASC"

Så har du ingen problemer fremover.
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:23 #27
done
Avatar billede no_doubt Nybegynder
31. januar 2003 - 14:23 #28
Ved ikke om du vil se på det nederste ?

jeg har hermed givet point, kun mundtligt efter som de jo skal forøges hvis du hjælper videre
Avatar billede oasen Nybegynder
31. januar 2003 - 14:25 #29
Jeg vil godt hjælpe dig, men lav hellere et nyt spørgsmål. Jeg er på vej ud af døren.
Avatar billede no_doubt Nybegynder
31. januar 2003 - 22:06 #30
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester