Innehåller kolumnen id namnet på spelen?
Har du inte någon namn-kolumn?
sql = "select * from SPEL where speltitel like '%" & SPELS & "%'"
17 svar · 397 visningar · startad av voigtann1
Okey efter mycket om och men har jag skaffat mej en sök motor kod =) men den e begränsad
här är den:
default.asp
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<form name="users" action="sok.asp" method="post">
Namn:<br>
<input type="text" size="30" name="SPEL">
<input type="submit" value="VAR ÖVERLÄGSEN ALLA ANDRA!" id=med name=med>
</form>
sen kommer resultatet:
<%
SPELS = request.form("Spel")
set conn = server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath("database/data.mdb")
sql = "select * from SPEL where ID = " & SPELS
set recset = conn.Execute(sql)
recset.Movefirst
response.write recset("speltitle")
Do Until recset.eof
recset.MoveNext
loop
%>
</select>
Min fråga är enkel: Om man typ Söker på Mari så ska den visa allt med:
Mario 1,2,3 etc etc
även om man skriver ari bara ska den ta det från databasen... och den ska ju förstås loopa alla resultat om det är mer än 1 =)
Innehåller kolumnen id namnet på spelen?
Har du inte någon namn-kolumn?
sql = "select * from SPEL where speltitel like '%" & SPELS & "%'"
Om det inte finns något för typ:
Zelda
fråga till: Går det med mellanslag?
typ: Mario 64
Fattar den då att det e mario 64
eller måste man skriva: mario64
eller kvittar det?
Om du har lagrat Mario 64 i databasen så kommer man inte att hitta det om man söker på Mario64 Blanka har betydelse i sökningen.
hur gör man så att den inte mellan slag ska göra något:
typ om någon råkar söka på mario64 och det är mario 64
då får man ju error
Jag behöver en kod för det... det blir bara error om man inte har det i databasen.
För att du inte skall få något fel om det inte finns något så får du skriva så här
if recset.eof then
response.write "Det fanns inget som uppfyllde sökvillkoret"
else
Do Until recset.eof
response.write recset("speltitle") & "<br>"
recset.MoveNext
loop
end if
Det där med blanka är inte så enkelt att lösa.
Fungera bra.. men om jag inte skriver in något så kommer alla titlar i hela databasen =)
sen behöver jag fortafarande med mario 64 och mario64
testa
sql = "select * from SPEL where ID LIKE '%"& request("Spel")
&"%'"
då får du allt som stämmer in på det du skickar, ari för mario etc, de kan dock vara lite sega att köra om du har stora tabeller, tänk på det
enkelt gjort kan du ju skicka med en kryssruta "exakt sökning" om du vill och sedan ha din sql sträng på om det villkoret är uppfyllt, annars köra liknande den jag skrev ovan
men om jag inte skriver in något så kommer alla titlar i hela databasen =)
Ja, så blir det,vad vill du skall hända då?
Problemet med blanka är inte så enkelt att lösa med sql. Du kan ju komma förbi det genom att skapa en tabell med synonymer där du lagrar både mario 64 och mario64 och använda den när du söker. Sen så har du en referens till tabellen SPEL för att hämta den information du vill ha.
fyy, vad ni e snabba
fastnade i tfn innan jag skickade...
men jag fattar egentligen inte varför det inte skulle gå... men men =)
Tror det var allt...
Kan man göra om man söker på ett tomt ord så kommer det inget heller.. eller kör man typ i <input> att mintext eller vad det nu är.. har inte kollat upp det.
Och det här med mario 64 eller mario64
kan man inte göra någon if sats att om mellanslag finns displaya om den är typ korekt... eh.h... glöm detta.. kom på om man söker på mario64 och har en databas med Mario 64 så går det inte heller...
hmm.. men om ni kan svara på översta så blir jag glad =)
validera om det är ifyllt eller ej med javascript, så slipper servern jobba
Liten fråga till. Om vi säger att vi söker nu på mario och jag har inget i databasen med Mario att göra då vill jag att den skriver ut:
Tyvärr hittar vi inget med spelet "mario" typ...
typ tyckte att det skulle hjälpa med
response.write "Hittar nada med spelet:" & SPELS & "typ."
Fungerar detta på något sätt så att man kan få fram att den inte hittar något med mario (ex).
If RecSet.EOF Then
response.write "inget bra fanns"
else
while not RecSet.EOF
'#-- Innehållet som ska loopas här --
RecSet.MoveNext
Wend
End If
mvh Jörgen
jag har redan detta...
Jag vill ha om man har skrevit in i forumläret så ska det komma typ:
Sök Resultat av: Mario
eller något om det går.